oohyoo 님의 블로그

[Python] 프로그래머스 - 컨트롤 제트 본문

코딩테스트

[Python] 프로그래머스 - 컨트롤 제트

oohyoo 2025. 1. 18. 17:07

[문제]

 

[잘못된 풀이]

def solution(s):
    answer = 0
    
    arr = s.split()
    for i in range(len(arr)):
        if arr[i].isdigit():
            answer += int(arr[i])
        elif arr[i] == 'Z':
            answer -= int(arr[i-1])
    return answer

 

[풀이]

def solution(s):
    answer = 0
    
    arr = s.split()
    for i in range(len(arr)):
        if not arr[i] == 'Z':
            answer += int(arr[i])
        elif arr[i] == 'Z':
            answer -= int(arr[i-1])
    return answer

 

isdigit()라는 굉장히 편리해보이는 함수를 알게되어서 이번에 사용해보려고 했는데, 바로 오류가 났다.

입력값에 음수가 포함되는 경우 오류를 발생시키길래 음수랑 관련해서 문제가 있겠다고 생각했는데, isdigit 함수는 '순수하게 숫자로만' 이루어져 있는지 판단한다고 한다. 음수에는 마이너스 기호(-)가 붙는데 이걸 문자라고 생각한 것.

 

오늘의 교훈: 파이선 함수 아무거나 쓰지말자.. C언어 초심으로 코딩하자..  

반응형