Updated:

๐Ÿ–๏ธย solution 1

import sys
"""
[ํ’€์ด ์‹œ๊ฐ„]
1) 15:50 ~ 16:10

[์š”์•ฝ]
1) ๋ช…๋‹จ A, ๋ช…๋‹จ B์˜ ๊ต์ง‘ํ•ฉ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ

[์ „๋žต]
1) ๋‘ ๋ช…๋‹จ์„ ์„ธํŠธ ์ž๋ฃŒํ˜•์— ๋„ฃ๊ณ  ๊ต์ง‘ํ•ฉ์„ ๊ตฌํ•ด์ฃผ๊ธฐ
"""
N, M = map(int, sys.stdin.readline().split())
set_a, set_b = set(), set()

# ๋“ฃ๋„ ๋ชปํ•œ ์‚ฌ๋žŒ ๋ช…๋‹จ
for _ in range(N):
    set_a.add(sys.stdin.readline().rstrip())

# ๋ณด๋„ ๋ชปํ•œ ์‚ฌ๋žŒ ๋ช…๋‹จ
for _ in range(M):
    set_b.add(sys.stdin.readline().rstrip())

result_list = sorted(list(set_a & set_b))
print(len(result_list))
for name in result_list:
    print(name)

๐Ÿ’กย idea 1

  • 1) ๋‘ ๋ช…๋‹จ์„ ๊ฐœ๋ณ„ ์„ธํŠธ ์ž๋ฃŒํ˜•์— ๋„ฃ๊ณ  ๊ต์ง‘ํ•ฉ ํ™•์ธ

๐Ÿ–๏ธย solution 2

import sys

"""
[ํ’€์ด ์‹œ๊ฐ„]
1) 15:50 ~ 16:10

[์š”์•ฝ]
1) ๋ช…๋‹จ A, ๋ช…๋‹จ B์˜ ๊ต์ง‘ํ•ฉ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ

[์ „๋žต]
1) ๋ช…๋‹จ A์˜ ์• ๋“ค์„ ์ „๋ถ€ ์‚ฌ์ „์— ๋„ฃ์–ด ์ฃผ์ž
"""
N, M = map(int, sys.stdin.readline().split())
result_list, name_dict = [], {}

# ๋“ฃ๋„ ๋ชปํ•œ ์‚ฌ๋žŒ ๋ช…๋‹จ
for _ in range(N):
    name_dict[sys.stdin.readline().rstrip()] = True

# ๋ณด๋„ ๋ชปํ•œ ์‚ฌ๋žŒ ๋ช…๋‹จ
for _ in range(M):
    tmp_name = sys.stdin.readline().rstrip()
    try:
        if name_dict[tmp_name]:
            result_list.append(tmp_name)
    except KeyError as e:
        pass

result_list.sort()
print(len(result_list))
for name in result_list:
    print(name)

๐Ÿ’กย idea 2

  • 1) ํ•œ์ชฝ ๋ช…๋‹จ์„ ๋ชจ๋‘ ์‚ฌ์ „์— ๋„ฃ๊ธฐ
    • ์‚ฌ์ „์˜ value๋Š” True๋กœ ๋ชจ๋‘ ์ดˆ๊ธฐํ™”
  • 2) ๋‹ค์Œ ๋ช…๋‹จ์˜ ๊ฐœ๋ณ„ ์‚ฌ๋žŒ๋“ค์„ ์ด๋ฏธ ์‚ฌ์ „์— ์žˆ๋Š”์ง€ ๋Œ€์กฐ
    • ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ตฌ๋ฌธ์„ ์ด์šฉ, ์‚ฌ์ „์— ์ด๋ฏธ ๋“ฑ์žฌ๋œ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๊ฒฐ๊ณผ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€

๐Ÿ˜‡ Comparison

๊ฒฐ๊ณผ ๋น„๊ต ๊ฒฐ๊ณผ ๋น„๊ต

์ œ์ผ ์ƒ๋‹จ์˜ ์ œ์ถœ ๊ฒฐ๊ณผ๊ฐ€ solution 1, ํ•˜๋‹จ์˜ ๊ฒฐ๊ณผ๊ฐ€ solution 2์— ํ•ด๋‹น ๋œ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์ „์ž๊ฐ€, ๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” ํ›„์ž๊ฐ€ ๋” ํšจ์œจ์ ์ธ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.

Leave a comment