[๋ฐฑ์ค] 10546 ๋ฐฐ๋ถ๋ฅธ ๋ง๋ผํ ๋ with Python
๐ BOJ 10546 ๋ฐฐ๋ถ๋ฅธ ๋ง๋ผํ ๋
๐ก ์กฐ๊ฑด
์ฐธ๊ฐ์ ์ N์ด ์ฃผ์ด์ง๋ค. (1 โค N โค 105)
N๊ฐ์ ์ค์๋ ์ฐธ๊ฐ์์ ์ด๋ฆ์ด ์ฃผ์ด์ง๋ค.
N-1๊ฐ์ ์ค์๋ ์์ฃผํ ์ฐธ๊ฐ์์ ์ด๋ฆ์ด ์ฐ์ฌ์ ธ ์๋ค.
์ฐธ๊ฐ์๋ค์ ์ด๋ฆ์ ๊ธธ์ด๊ฐ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 20๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋ฌธ์์ด์ด๊ณ , ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
์ฐธ๊ฐ์๋ค ์ค์ ๋๋ช ์ด์ธ์ด ์์ ์๋ ์๋ค.๋ฐฑ์ค ๋ง๋ผํค ๋ํ์ ์ฐธ๊ฐํด ๋๊ณ ์์ฃผํ์ง ๋ชปํ ๋ฐฐ๋ถ๋ฅธ ์ฐธ๊ฐ์ ํ ๋ช ์ ๋๊ตด๊น?
ํด์๋งต ์๋ฃ๊ตฌ์กฐ ์์ฉ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin
n = int(stdin.readline())
mara_tang = {}
for _ in range(n):
name = stdin.readline().rstrip()
if name not in mara_tang:
mara_tang[name] = 1
else:
mara_tang[name] += 1
for _ in range(n - 1):
mara_tang[stdin.readline().rstrip()] -= 1
for key, item in mara_tang.items():
if item != 0:
print(key)
break
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
4
mislav
stanko
mislav
ana
stanko
ana
mislav
์คํ๊ฒฐ๊ณผ
mislav
โจ๏ธ ๋ฌธ์ ํ์ด
๋๋ช ์ด์ธ์ด ์๋ค๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. {key: value} ํ์์ผ๋ก ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ Dictionary ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
n ์ ์ ๋ ฅ๋ฐ๊ณ , n๋งํผ ๋ฐ๋ณต๋ฌธ์ ์งํํ๋ฉด์ ๋ํ์ ์ฐธ๊ฐํ ์ธ์๋ค์ dictionary ์๋ฃ๊ตฌ์กฐ์ ๋ฃ์ต๋๋ค.
{์ฐธ๊ฐ์ ์ด๋ฆ : ์ธ์ ์}, ์ธ์ ์๋ dictionary ์ ์ด๋ฆ์ด ์์ ๋ 1๋ก ์ด๊ธฐํํด์ ๋ฃ์ต๋๋ค.n-1 ๋งํผ ๋ฐ๋ณต๋ฌธ์ ์งํํ๋ฉด์ ์์ฃผํ ์ฌ๋๋ค์ ์ด๋ฆ์ ํด๋นํ๋ ๊ฐ์ dictionary์์ -1 ํด์ค๋๋ค.
dictionary.item() ์ ํตํด์ key, value ๊ฐ์ ์ํํ๋ฉด์ value ๊ฐ 0๋ณด๋ค ํฐ ํค ๊ฐ์ ์ฐพ์ต๋๋ค.
์ฐธ๊ฐ์ ํ๋ช ์ ์ฐพ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ถ๋ ฅํ ๋ค ๋ฐ๋ก break ๋ฅผ ๊ฑธ์ด ๋ฉ์ถฐ์ค๋๋ค.
๐พ ๋๋์
- ํ์ด์ฌ ๋์ ๋๋ฆฌ ๋ง์ธ