코딩테스트

프로그래머스 레벨0 문자열 계산하기

choyou831 2024. 5. 18. 18:36

문제는 my_string에서 연산자인 +,-를 기준으로 전과 후를 더하거나 뺴면 되는 문제이다.

그래서 생각한것은,+와 -를 찾아서 전후를 연산한다였다.

def solution(my_string):
    for i in range(len(my_string)):
        if my_string[i] == '+':
            return int(my_string[0:i]) + int(my_string[i+1:])
        elif my_string[i] == '-':
            return int(my_string[0:i]) - int(my_string[i+1:])
    return int(my_string)

하지만 런타임 에러가 계속났다.

그 이유를 생각하보니 연산자가 하나라는 말이 없었다.

따라서 연산자를 찾기보다는 eval()함수는 문자열 계산을 도와주는 함수이다.

def solution(my_string):
    answer = eval(my_string)
    return answer