반응형
코드
import sys
start = dict()
finish = dict()
n = int(input())
for _ in range(n):
name = sys.stdin.readline().rstrip()
if name in start:
start[name] += 1
else:
start[name] = 1
for _ in range(n-1):
name = sys.stdin.readline().rstrip()
if name in finish:
finish[name] += 1
else:
finish[name] = 1
for n in start.keys():
if n not in finish:
print(n)
break
else:
if start[n] != finish[n]:
print(n)
break
설명
딕셔너리를 사용해서 풀었다. 동명이인이 존재할 수 있는 문제이기 때문에 value값을 이용하여 특정 이름을 갖는 사람이 몇명인지 파악했다.
for문을 통해 start와 finish의 value값을 비교하여 만약 다르면 거기에 해당하는 key가 정답이다. 총 N명의 참가자 중 N-1명이 완주를 하기 때문에 완주를 하지 않은 한 명만 찾으면 바로 for문을 빠져나오면 된다.
반응형
'알고리즘 > 자료구조' 카테고리의 다른 글
[백준][Python] 9375번 패션왕 신해빈 (0) | 2022.02.24 |
---|---|
[백준][Python] 1302번 베스트셀러 (0) | 2022.02.24 |
[백준][Python] 2776번 암기왕 (0) | 2022.02.23 |
[백준][Python] 2075번 N번째 큰 수 (0) | 2022.02.22 |
[백준][Python] 7662번 이중 우선순위 큐 (0) | 2022.02.22 |
댓글