매개변수로 받은 expression(식)을 문자열로 받아 실행하는 파이썬의 내장 함수이다.
eval 함수는 expression 인자에 문자열을 넣으면 해당 값을 그대로 실행하여 결과를 출력해준다.
val = eval("5+3")
print(val) // 8
print(eval("abs(-8)")) // 8
print(eval("len([3, 4, 5])")) // 3
이 문제를 풀고(eval 함수없이) 다른 사람의 풀이를 보고 eval 함수를 접하게 되었다.
문자열에서 피연산자들과 연산자들을 구분해야하는 문제였는데, eval을 이용하면 쉽게 바꿀 수 있어서 편한 듯하다.
cf) 이 함수는 사용자가 마음대로 프로그램에 명령을 입력할 수 있어 해킹 위험이 있다. 하지만 알고리즘 문제를 푸는 것이니!