BOJ/문자열 (해시,맵)

[Python] 백준 - 9536번 : 여우는 어떻게 울지?

JWonK 2022. 5. 14. 01:28
728x90
반응형

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

 

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

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

www.acmicpc.net

문제

고대 미스테리로 전해지는 여우의 울음소리를 밝혀내기 위해 한신이는 고성능 녹음기로 무장하고 숲으로 들어갔다. 하지만 숲에는 동물들이 가득해, 녹음된 음성에는 다른 동물들의 울음소리가 섞여 있다. 그러나 한신이는 철저한 준비를 해 왔기 때문에 다른 동물들이 어떤 울음소리를 내는지 정확히 알고 있다. 그러므로 그 소리를 모두 걸러내면 남은 잡음은 분명히 여우의 울음소리일 것이다.

 


 

오랜만에 파이썬으로 문제를 풀어보려고 쉬운 문자열 문제를 해결해보았다!

 

모든 소리를 리스트에 담아두고 동물의 울음소리는 딕셔너리로 담아준다. 중복은 발생하지 않기 때문에 이 부분은 걱정하지 않아도 된다! 모든 울음 소리를 딕셔너리에 담아두었으면 이제 맨 처음에 입력 받았던 소리들 중 동물들의 울음 소리와 겹치지 않는 소리만 답으로 출력할 리스트에 담아주면 된다.

엄청 간단한 문제였다.

 

from distutils.log import info
import sys

T = int(input())

while T != 0:
    sound = list((sys.stdin.readline().split()))

    otherAnimalSound = dict()
    while True:
        information = list(sys.stdin.readline().split())
        if information[0] == 'what':
            break
        otherAnimalSound[information[0]] = information[2]
    
    answer = list()

    for data in sound:
        if data not in otherAnimalSound.values():
            answer.append(data)
    
    for data in answer:
        print(data, end=' ')

    T -= 1

 

 

 

728x90
반응형