본문 바로가기

Python(알고리즘,문제풀이)/프로그래머스(입문100제)

코딩테스트입문 / 컨트롤제트

728x90

📚문제

출처 : 코딩테스트입문 / 컨트롤제트(https://school.programmers.co.kr/learn/courses/30/lessons/120853)

 

📝풀이

def solution(s):
    s = s.split()
    cnt = 0 
    
    for i in range(len(s)):
        if s[i] != 'Z':
            cnt += int(s[i])
        else:
            cnt -= int(s[i-1])
    return cnt

 

if문에서 isdigit()으로 판별해서 cnt해주는걸 생각했는데

isdigit()이 음수는 숫자로 판별을 못하고 False가 나와서 오류가 났다

그렇다고 if문에서 int(s[i])를 취한 다음에 isdigit()은 사용할 수가 없다..

 

그래서 'Z'가 아닌 모든 경우일 때 int()를 취해주고

'Z'인 경우에 'Z'위치 전에 있는 숫자만큼 빼주었다

처음에 'Z'가 나올 일은 없다고 문제에서 명시해주었으므로 if문에서 오류가 나지 않는다

728x90