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
반응형
'Algorithm > 프로그래머스(Programmers)' 카테고리의 다른 글
[ 파이썬(python) ] 프로그래머스 level2 - 전화번호 목록 (0) | 2021.03.31 |
---|---|
[ 파이썬(python) ] 프로그래머스 level1 - 두 정수 사이의 합 (0) | 2021.03.31 |
[ 파이썬(python) ] 프로그래머스 level1 - 소수판별 (0) | 2021.03.31 |
[ 파이썬(python) ] 프로그래머스 level1 - 완주하지 못한 선수 (0) | 2021.03.31 |
[ 파이썬(python) ] 프로그래머스 level1 - 문자열 내 p와 y의 개수 (0) | 2021.03.31 |
댓글