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

[python] ๋ฐฑ์ค€ 1764 - ๋“ฃ๋ณด์žก

by YWTechIT 2021. 4. 1.
728x90

๐Ÿ“ ๋ฐฑ์ค€ 1764 - ๋“ฃ๋ณด์žก

๋ฌธ์ œ: ๋ฐฑ์ค€ 1764 - ๋“ฃ๋ณด์žก

๐Ÿ’ก ๋‚˜์˜ ํ’€์ด

์ฒ˜์Œ์— ์ž…๋ ฅ์„ for i in range(n+m)๋งŒํผ ๋ฐ›์œผ๋ ค๊ณ  ํ–ˆ์œผ๋‚˜, ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋‘๊ฐœ์˜ array์— ๋Œ€ํ•œ ๋ฒ”์œ„๋ฅผ ์ƒˆ๋กœ ์„ค์ •์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต๋ฌธ์„ 2๊ฐœ๋กœ ๋‚˜๋ˆ  ์„ค์ •ํ–ˆ๋‹ค.

์ž…๋ ฅ์„ ๋‹จ์ˆœํ•˜๊ฒŒ input()์œผ๋กœ ๋ฐ›์•„์„œ ์‚ฌ์šฉํ•˜๋‹ˆ๊นŒ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚ ๋ป”ํ–ˆ๋‹ค. sys๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ž.

  1. input(): 3840ms
  2. sys.stdin.readline: 112ms

๋˜, list comprehension ์ค‘์— strip()์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์ถœ๋ ฅ ํ˜•์‹์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.ํŒ์ •์„ ๋ฐ›์œผ๋‹ˆ๊นŒ ๋ถ™์—ฌ์ฃผ๋„๋ก ํ•˜์ž.

์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ ์ฝ”๋“œ๋Š” intersection(๊ต์ง‘ํ•ฉ)์ธ๋ฐ, ๋‘ ๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ ์ค‘ ๊ฒน์น˜๋Š” ์›์†Œ๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ๋‹ค.

intersection(๊ต์ง‘ํ•ฉ)์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ด๋•Œ, ์ฃผ์˜ ํ•  ์ ์€ list๋ฅผ setํ˜•์œผ๋กœ ํ˜• ๋ณ€ํ™˜์„ ํ•ด์ค˜์•ผํ•œ๋‹ค.

  1. set(s1) & set(s1)
  2. s1.intersection(s2)

๋งˆ์ง€๋ง‰ ์ถœ๋ ฅ์— ํ•ด๋‹น๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์กฐ๊ฑด์€ len()์„ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
(์ฒ˜์Œ์— cnt+=1๋ฅผ ์จ์•ผํ•˜๋‚˜ ํ—ค๋งธ๋Š”๋ฐ, ์ด๋Ÿฐ ๊ฐ„ํŽธํ•œ ๋ฐฉ๋ฒ•์ด...)

import sys
input = sys.stdin.readline

n, m = map(int, input().split())

listen = [input().strip() for i in range(n)]
see = [input().strip() for j in range(m)]

# ๋ฐฉ๋ฒ• 1
intersection = sorted(list(set(listen) & set(see)))

# ๋ฐฉ๋ฒ• 2
intersection2 = sorted(list(set(listen).intersection(set(see))))

print(len(intersection))

for i in intersection:
    print(i)
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€