본문 바로가기
Algorithm/프로그래머스(Programmers)

[ 파이썬(python) ] 프로그래머스 level1 - 문자열 다루기 기본

by YWTechIT 2021. 3. 31.
728x90

📌 문자열 다루기 기본

문제 설명에서 나온 조건은 무조건 사용하자.


💡 나의 풀이

숫자로만 구성되어있는지 확인하면 되는 문제라서 문자열만 들어있는 변수를 따로 만들고, 만약 input에 문자열이 포함되어있으면 return False를 하는 방법으로 만들었다.

한 가지 헷갈린 점이 있었다.
문제 설명에 s의 길이가 4 혹은 6이라고 주어졌는데 제한 사항에도 s는 길이 1이상, 길이 8이하인 문자열이라고 적혀있었다. 처음에는 문제가 잘못 나온 줄 알았는데, 생각해보니까 입력은 1~8까지 주어지는데 출력해야하는 문자열의 길이는 4 혹은 6 이라는 얘기였다.

즉, 문자열이 4와 6일때만 함수를 실행하면 된다. 그래서 나는 len(s) != 4 and len(s) != 6:으로 풀었는데 해석하자면 s의 길이가 모두 4와 6이 아니면 return False를 한다는 의미다.

문제를 풀고 다른 사람의 코드를 봤는데 try-except로 푼 사람이 꽤 있었다.
try-except를 사용해서도 다시 풀어봤다. 방금 푼 코드와는 조금 다르게 s가 int()형 일때만 return True하게 설정했다.

character = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

def check_string(s):
    if len(s) != 4 and 6:
        return False

    for i in s:
        if i in character:
            return False
    return True
def check_string(s):
    if len(s) != 4 and 6:
        return False
    try:
        if int(s):
            return True
    except:
            return False
반응형

댓글