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 |