8일차 - 아 맞다 마늘 ( 백준 32978번 )

2025. 1. 22. 17:47코테 스터디(Python)

32978번 : 아 맞다 마늘


문제

APC-Extra배 흑백 요리사에 참가한 현빈이는 라운드마다 자신만의 창의적인 요리를 선보여 활약하고 있다. 결승전에 진출한 현빈, 그는 여기에서 자신의 인생 요리이자 시그니처 요리인 봉골레 파스타를 선보였다.

 

그러나 현빈이는 1위와 1점 차이로 아쉽게 지고 말았는데, 곰곰이 요리 과정을 복기하던 현빈이는 요리하는 과정에서 정확히 하나의 요리 재료를 빼먹었다는 것을 떠올렸다.

 

현빈이가 요리하는 과정에서 무슨 재료를 빼먹었는지 맞혀보자.

입력

첫 번째 줄에 봉골레 파스타를 만들기 위한 요리 재료 종류의 개수 N이 주어진다. (2≤N≤1000)

두 번째 줄에 봉골레 파스타에 들어가는 N가지의 요리 재료가 공백으로 구분되어 주어진다. 모든 요리 재료는 한 번씩만 주어진다.

세 번째 줄에 봉골레 파스타에 들어가는 N가지의 재료 중 현빈이가 사용한 N−1가지의 요리 재료가 공백으로 구분되어 주어진다. 같은 요리 재료가 2번 이상 주어지는 경우는 없다.

각 재료는 알파벳 대/소문자로 이루어져 있고 길이 20이하의 문자열이다. 같은 철자를 가진 요리 재료이더라도, 대소문자의 여부가 다르다면 두 요리 재료는 다른 요리 재료이다.

출력

현빈이가 빼먹은 재료를 출력한다.

예제 입력 1 

5
Flour Garlic Seashell Oil Butter
Seashell Oil Butter Flour

예제 출력 1 

Garlic

풀이

1. 요리재료 개수를 N에 받아온다.  N = int(input())

 

2. 모든 요리 재료와 사용한 요리 재료를 받아온다.
  A = input().split()
  U = input().split()

3. 받아온 재료들을 집합으로 만들어 준다.
  all_set = set(A)
  used_set = set(B)

4. 빠진 재료를 찾기 위해 전체 재료에서 사용한 재료를 빼준다.(차집합)
  miss = all_set - used_set

5. 문제에서 정확히 하나의 요리 재료를 빼먹었다고 하였기 때문에 pop()을 사용하여 출력해준다.
  print(miss.pop())

※ pop()은 집합에서 임의의 요소를 제거하여 무조건 하나의 값만 반환되게 한다. 

 

제출 코드 

N = int(input())
A = input().split() #모든 재료
U = input().split() #사용한 재료

all_set = set(A)
used_set = set(U)

miss = all_set - used_set

print(miss.pop())