BoJ 18679 - Banana [with Python / 문제 한국어로 번역]

ssook·2023년 9월 30일
0

BoJ 문제기록

목록 보기
21/29
post-thumbnail

📍 문제

NASA가 화성에서 물을 발견한 후, 그들은 행성에서 지능이 있는 외계 생명체들을 찾기 위해 탐사 영역을 넓히기로 결정했습니다.
수개월 동안의 탐사 끝에, 그들은 미니언들이 실제로 살고 있는 행성을 발견했습니다!

NASA가 미니언들과 통신을 시작하고 받은 첫 메시지는 "Mo amo Banana"였습니다. 처음에는 이 메시지를 해독하기가 매우 어려웠지만, 시간이 지남에 따라 영어 단어를 미니언 언어로 매핑하는 사전을 작성하는 데 성공했습니다.
이제 여기서 당신은 NASA가 미니언들과의 소통을 원활하게하기 위한 번역기를 구축해야 합니다. 당신의 임무는 인류와 미니언 세계의 번영을 위한 것입니다!

입력

입력의 첫 번째 줄에는 정수 N 한 개가 주어지며, 이는 사전에 있는 단어의 수를 나타냅니다 (1 ≤ N ≤ 100).
그 다음 N개의 줄에는 각각 x = y 형식의 문장이 입력되며,
여기서 x는 영어 단어이고 y는 미니언 언어입니다.
다음 줄에는 정수 T가 주어지며, 이는 테스트 케이스의 수를 나타냅니다 (1 ≤ T ≤ 100).
각 테스트 케이스는 문장에 포함된 단어의 수를 나타내는 정수 K로 시작하며 (1 ≤ K ≤ 100), 그 다음 줄에는 K개의 공백으로 구분된 영어 단어가 포함됩니다. 테스트 케이스에 포함된 모든 영어 단어는 정의된 사전에 존재합니다.
또한, 모든 단어는 영어 알파벳으로만 이루어져 있으며, 최대 20자까지의 길이를 가집니다.

출력

각 테스트 케이스에 대해, 번역한 미니언 언어들을 공백으로 구분하여 한 줄에 출력합니다.


📍 아이디어

로직 자체는 간단하다. 파싱과 딕셔너리를 쓰면 된다.

먼저 입력 받은 문자열을 공백 제거한 후, = 기준 파싱 후 딕셔너리에 영어 : 미니언 언어 이런 형태로 저장해줬다.
그 후 번역하고자 하는 문장이 나오면 해당 문장을 공백 기준으로 분리 후 딕셔너리를 사용해 번역해서 다시 문장으로 합친 다음 출력하였다.


📍 제출코드


n = int(input())
chg = {}

for i in range(n):
  s = input()
  s = s.replace(' ', '').split('=')
  chg[s[0]] = s[1]

t = int(input())
for _ in range(t):
  raw_t = int(input())
  raw = input()
  raw = raw.split()

  tmp = ''
  for word in raw:
    tmp += chg[word] + ' ' 
  
  print(tmp.rstrip())
profile
개발자에서, IT Business 담당자로. BrSE 업무를 수행하고 있습니다.

0개의 댓글