코드
def solution(my_string):
my_string = my_string.split()
answer = int(my_string[0])
for i in range(len(my_string)):
if my_string[i] == '+':
answer += int(my_string[i+1])
elif my_string[i] == '-':
answer -= int(my_string[i+1])
else:
continue
return answer
'3 + 4'와 같이 +, -로만 구성된 문자열 my_string이 주어진다. 그럼 주어진 문자열의 식을 계산한 값을 return 하는 문제이다.
문제에 연산자는 +, -만 있다고 명시되어 있기 때문에 다른 연산자는 고려할 필요가 없다.
따라서 my_string의 요소를 순차적으로 방문하면서 +인지 -인지 판별하는 조건문을 작성해 주었다.
다른 사람의 코드
def solution(my_string):
return eval(my_string)
이 코드를 보고 깜짝 놀랐다. 생각보다 모르는 함수가 많다는 사실도 깨달았다.
eval 함수는 매개변수로 식을 받아서 실행하는 함수이다.
eval('3+4')를 실행하면 7이라는 결과값을 리턴한다.
산술연산자 외에도 비교연산자도 사용 가능하며, 문자열로 식만 리턴해주면 어떤 식이든지 결과값을 반환한다.
반응형