본문 바로가기

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

코딩테스트입문 / 문자열 계산하기

728x90

📚문제

출처 : 프로그래머스 / 문자열 계산하기(https://school.programmers.co.kr/learn/courses/30/lessons/120902)

 

📝풀이

def solution(my_string):
    
    my_string = my_string.split()
    if '+' in my_string:
        return int(my_string[0]) + int(my_string[-1])
    elif '-' in my_string:
        return int(my_string[0]) - int(my_string[-1])

 

샘플 테스트에서는 맞았다고 나오는데 

제출하면 테스트 케이스 10개중에 8개에서 틀렸다고 나온다

프로그래머스는 이게 아쉬운 게 

어떤 테스트 케이스 때문에 틀렸는지를 알 수가 없다...

나와 있는 입출력 예만 만족한다고 맞는게 아니라는 얘기.....

 

제한사항에 첫글자와 마지막글자 앞뒤로 공백 없고 연산자는 +아니면 - 로 존재한다고 되어있

또 my_string과 연산자는 공백하나로 구분된다고 명시되어있다.

연산 기호가 하나라는 얘기는 없네...후 

그래서 중간 계산값이라는 멘트가 있었나보다 

중간 계산이라는게 무슨 말인가 했는데

 

def solution(my_string):
    
    my_string = my_string.split()
    answer = int(my_string[0])

    for idx, char in enumerate(my_string):
        if char=='+':
            answer += int(my_string[idx+1])
        elif char=='-':
            answer -= int(my_string[idx+1])
    return answer

 

최종 답변 

enumerate함수는 처음에는 되게 낯설고 잘 이해가 안 갔는데

쓰다 보니까 익숙해지고 유용하게 자주 쓰는 것 같다

728x90