알고리즘

[백준] 9536. 여우는 어떻게 울지?

담쏙 2021. 9. 14. 23:25
728x90

https://www.acmicpc.net/problem/9536

 

9536번: 여우는 어떻게 울지?

각 테스트케이스마다 여우의 울음소리를 한 줄씩, 녹음된 순서대로 출력한다. 여우의 울음소리가 녹음되어 있음이 보장된다. (알려진 것과는 달리, 여우는 모스 부호로 의사소통하지 않는다.)

www.acmicpc.net

isdigit()으로 검사했을 때 숫자일 때와 아닐 때를 먼저 나눠준다.

숫자일 경우, 연산자가 저장되어 있지 않으면 첫번째 피연산자이고 연산자가 저장되어 있다면 두번째 피연산자이다.

연산자 일 경우, 저장된 연산자로 계산을 먼저 해주고 현재 연산자는 일단 저장해둔다. (두 번째 피연산자를 알아야 해당 연산자를 사용할 수 있기 때문이다.)

isC로 연산자로 C로 등장했는지 check를 해주고 출력한다. 수식을 모두 확인했는데도 C 연산자가 등장하지 않았다면 NO OUTPUT을 출력한다.

 

import sys
input = sys.stdin.readline
T = int(input())
for tc in range(T):
    records = input().rstrip().split()
    sound = set()
    while True:
        sentence = input().rstrip()
        if sentence == 'what does the fox say?':
            break
        sound.add(sentence.split()[2])
    for record in records:
        if record not in sound:
            print(record, end=' ')
    print()

sentence 가 what does the fox say? 일 때 까지 while문을 돌며 sound라는 set() 자료형에 울음소리를 저장한다.

입력이 끝나면 sound set에 들어있지 않은 울음 소리만 출력한다.

'알고리즘' 카테고리의 다른 글

[백준] 19583. 싸이버개강총회  (0) 2021.09.15
[백준] 21737. SMUPC 계산기  (0) 2021.09.15
[백준] 11507. 카드셋트  (0) 2021.09.13
[SWEA] 미로의 거리  (0) 2021.03.14
[프로그래머스] 단속카메라  (0) 2021.03.14