DATA PROGRAMMING/PYTHON
[PYTHON] 문자열 다루기 기본
허니리즘
2023. 11. 6. 16:41
[프로그래머스 코딩테스트 문제]
내 코드
def solution(s):
list1 = [str(i) for i in range(0,10)]
for i in list(s):
if i in list1:
answer = True
else :
answer = False
break
if len(s) != 4 and len(s) !=6 :
answer = False
return answer
처음엔 for나 while문을 통해 type(int(문자열의 모든 원소)) == type(1) 이 만족하면 True, 틀리면 False를 출력하는 형태의 코드를 작성하려고 했지만, int함수에 정수 형태의 문자열이 입력되지 않으면 에러가 나기에 다른 방법을 생각했다. 우선 리스트에 0~9까지의 정수를 문자열 형태로 저장하고 입력된 문자열의 모든 각 원소가 그 리스트에 포함되어 있어야 True를 출력하도록 작성하였다. 즉, 각 원소를 정수형으로 바꾸지 않아도 되는 방법을 생각한 것이다.
다른 풀이
def solution(s):
if (len(s) in [4,6] and s.isdigit()):
return True
return False
isdigit() 함수는 해당 문자열이 정수로만 이루어져 있는지 확인하는 코드이다. 이 함수를 활용하면 훨씬 쉽게 코드를 작성할 수 있다.