[leetcode]150. evaluate-reverse-polish-notation

yoon·2023년 8월 31일
0

leet_code

목록 보기
11/24

문제 설명



reverse polish notation으로 적힌 수식을 계산하는 것이 문제이다.
reverse polish notation이란 연산자가 피연산자 뒤에 오는 것을 말한다.
예시를 확인하면 이해하기 쉽다.

풀이

수식의 포인트는 연산자 앞에는 숫자 2개가 와야한다는 것이다.
우선 숫자와 연산자를 구분한다.
숫자라면 nums 리스트 안에 넣어주고 연산자를 만난다면 nums에서 숫자 2개를 뽑아온다.
그리고 빈자리는 연산자를 이용해 계산한 결과값을 넣어주면 된다.

이때 -와 /는 순서를 잘 봐야한다.
앞의 숫자를 뒤의 숫자로 나누고 빼는 것이기 때문에 두 번째로 pop해주는 숫자가
앞이라는 것을 생각해주자
/에서는 int로 다시 치환해줘야 한다.소수점 때문에 결과값이 이상하게 나온다.

참고

연산자를 발견하면 먼저 x,y를 정의해주기 때문에 같은 코드를 안써도 되는 것이 좋았다
내가 작성한 코드보다 깔끔해 보이고, 시간도 조금 더 짧았다

가장 눈에 띄었던 풀이이다.
dict를 이용해서 연산자에 함수를 정의해 놓은 것이 좋았다.

profile
하루하루 차근차근🌱

0개의 댓글