Algorithm/String

[프로그래머스] 문자열 계산하기

킹우현 2023. 7. 20. 18:55

def solution(my_string):
    
    data = my_string.split() # 	['3', '+', '4']
    
    answer = int(data[0])
    
    for i in range(1,len(data)-1,2):
        if data[i] == '+':
            answer += int(data[i+1])
        else:
            answer -= int(data[i+1])
    
    return answer

이번 문제는 주어진 수식 문자열을 계산하여 결과를 리턴하는 문제이다.

 

처음에는 문자열을 모두 순회하며 + 인지 - 인지 저장해가며 풀었는데, 테스트케이스에서 실패하여 연산자를 기준으로 값을 처리했더니 통과할 수 있었다.

 

eval 함수 : 매개변수로 받은 expression(우리가 아는 일반적인 사칙연산 '식')을 문자열로 받아서 실행하는 함수

 

다른 사람의 풀이를 보고서 eval() 이라는 함수를 알게 되었는데, 이 함수를 사용하면 사칙연산 식을 간단하게 계산할 수 있다는 사실을 새롭게 알 수 있었다 :)

'Algorithm > String' 카테고리의 다른 글

[프로그래머스] 숨어있는 숫자의 덧셈(2)  (0) 2023.07.20
[프로그래머스] OX퀴즈  (0) 2023.07.20
[프로그래머스] 옹알이(1)  (0) 2023.07.18
[HackerRank] Caesar Cipher  (0) 2023.05.19
[HackerRank] Two Characters  (0) 2023.05.19