Algorithm/SW Expert Academy

[Python] 1232. 사칙연산

느낌표 공장장 2021. 9. 24. 17:23
for tc in range(1, 11):
    N = int(input())
    dict = {}
    for _ in range(1, N+1):
        inp = tuple(input().split())
        dict[int(inp[0])] = inp[1:]

    for idx in range(N, 0, -1):
        if dict[idx][0].isdigit():	# 숫자일때 
            dict[idx] = int(dict[idx][0])
        else:	# 사칙 연산일때
            if dict[idx][0] == '+':
                dict[idx] = dict[int(dict[idx][1])]+dict[int(dict[idx][2])]
            elif dict[idx][0] == '-':
                dict[idx] = dict[int(dict[idx][1])]-dict[int(dict[idx][2])]
            elif dict[idx][0] == '*':
                dict[idx] = dict[int(dict[idx][1])]*dict[int(dict[idx][2])]
            elif dict[idx][0] == '/':
                dict[idx] = dict[int(dict[idx][1])]//dict[int(dict[idx][2])]

    print('#{} {}'.format(tc, dict[1]))

'Algorithm > SW Expert Academy' 카테고리의 다른 글

[Python] 5176. 이진탐색  (0) 2021.09.24
[Python] 5174. subtree  (0) 2021.09.24
[Python] 1231. 중위 순회  (0) 2021.09.23
[Python] 5105. 미로의 거리  (0) 2021.09.23
[Python] 5102. 노드의 거리  (0) 2021.09.23