[PYTHON] 문자열 다루기 기본

2023. 11. 6. 16:41DATA PROGRAMMING/PYTHON

[프로그래머스 코딩테스트 문제]

 

 

내 코드

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() 함수는 해당 문자열이 정수로만 이루어져 있는지 확인하는 코드이다. 이 함수를 활용하면 훨씬 쉽게 코드를 작성할 수 있다.