๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/๋ฐฑ์ค€(BOJ)

[ ํŒŒ์ด์ฌ(python) ] ๋ฐฑ์ค€ 10546 - ๋ฐฐ๋ถ€๋ฅธ ๋งˆ๋ผํ† ๋„ˆ

by YWTechIT 2021. 6. 29.
728x90

๐Ÿ“ ๋ฐฑ์ค€ 10546 - ๋ฐฐ๋ถ€๋ฅธ ๋งˆ๋ผํ† ๋„ˆ

๋ฐฑ์ค€ 10546 - ๋ฐฐ๋ถ€๋ฅธ ๋งˆ๋ผํ† ๋„ˆ


โšก๏ธ ๋‚˜์˜ ํ’€์ด

์ €๋ฒˆ์— ํ’€์—ˆ๋˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ ์™€ ๋™์ผํ•œ ๋ฌธ์ œ๋‹ค. ์ฐธ๊ฐ€์ž์˜ ์ˆ˜๊ฐ€ 100,000์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ์ ์œผ๋กœ list๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ’€๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค. ๊ทธ๋ž˜์„œ dict๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค.

 

  1. ์ฐธ๊ฐ€์ž๋ฅผ ์ €์žฅํ•  dict์™€ ์™„์ฃผ ์„ ์ˆ˜๋ฅผ ์ €์žฅํ•  dict๋ฅผ defaultdict๋กœ ์„ ์–ธํ•œ๋‹ค. defaultdict๋ฅผ ์„ ์–ธํ•˜๋ฉด ๋™์ผ ์„ ์ˆ˜๊ฐ€ ๋‚˜์™€๋„ +1์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. Counter ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ฐธ๊ฐ€์ž์™€ ์™„์ฃผ์ž์˜ Counter๋ฅผ ์ค€๋‹ค. ๊ฐ„๋‹จํ•œ ํŒ์ด์ง€๋งŒ Counter๋ผ๋ฆฌ๋Š” ์„œ๋กœ ๋นผ๊ฑฐ๋‚˜ ๋”ํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. ๋‚จ์€ ๊ฐ’์˜ key๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ด๋Ÿฐ๋ฐฉ์‹์€ ์ •๋‹ต ํŒ์ •์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋‚˜, ๋ฉ”๋ชจ๋ฆฌ์™€ ์‹คํ–‰์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. ๋‹ค๋ฅธ ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ์ฐพ์•„๋ดค๋Š”๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

  1. ์ฐธ๊ฐ€์ž๋ฅผ defaultdict๋กœ ์„ ์–ธํ•˜๊ณ  ํ•œ๋ช…์”ฉ ์ถ”๊ฐ€ํ•œ๋‹ค.
  2. ์™„์ฃผ์ž๋ฅผ ์ฐธ๊ฐ€์ž์˜ ๊ฐ’์—์„œ ๋นผ์ค€๋‹ค.
  3. ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ value๊ฐ€ 1์ด์ƒ์ธ ๊ฐ’๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.
  4.  

์ด ๋ฐฉ์‹์œผ๋กœ ์ œ์ถœํ–ˆ๋”๋‹ˆ ํฐ ์ฐจ์ด๋Š” ์•„๋‹ˆ์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ์™€ ์‹คํ–‰์‹œ๊ฐ„์ด ์†Œํญ ์ค„์—ˆ๋‹ค.

 

 

# ๋‚˜์˜ ํ’€์ด
import sys
from collections import defaultdict, Counter
input = sys.stdin.readline

n = int(input())
participants = defaultdict(int)
finisher = defaultdict(int)

for _ in range(n):
    name = input()
    participants[name] += 1

for _ in range(n-1):
    name = input()
    finisher[name] -= 1

print(''.join((Counter(participants) - Counter(finisher)).keys()))
# ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด
import sys
from collections import defaultdict
input = sys.stdin.readline

n = int(input())
participants = defaultdict(int)

for _ in range(n):
    name = input().rstrip()
    participants[name] += 1

for _ in range(n-1):
    name = input().rstrip()
    participants[name] -= 1

for key, value in participants.items():
    if value >= 1:
        print(key)
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€