๋ชฉ์ฐจ

๐ ๋ฌธ์
๊น์ง์์ด ๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช
๋จ๊ณผ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช
๋จ์ด ์ฃผ์ด์ง ๋, ๋ฃ๋ ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช
๋จ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ์ฒซ์งธ ์ค์ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ N, ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ M์ด ์ฃผ์ด์ง๋ค. ์ด์ด์ ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ๊ณผ, N+2์งธ ์ค๋ถํฐ ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ์ด ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด๋ฆ์ ๋์ด์ฐ๊ธฐ ์์ด ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ทธ ๊ธธ์ด๋ 20 ์ดํ์ด๋ค. N, M์ 500,000 ์ดํ์ ์์ฐ์์ด๋ค.
๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์๋ ์ค๋ณต๋๋ ์ด๋ฆ์ด ์์ผ๋ฉฐ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. ์ถ๋ ฅ๋ฃ๋ณด์ก์ ์์ ๊ทธ ๋ช
๋จ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ค.
|
โ ๋ด ๋ต
- Counter ์ฌ์ฉํด์ ๊ต์งํฉ ์ถ์ถ
- set ๋ณํํ์ฌ key๋ง ์ถ๋ ฅ
- set ๋ณํ ํ sorted๋ก ์ ๋ ฌ(reverse=True์ ๋ด๋ฆผ์ฐจ์)
import sys
from collections import Counter
n, m = sys.stdin.readline().strip().split()
list1 = [sys.stdin.readline().strip() for _ in range(int(n))]
list2 = [sys.stdin.readline().strip() for _ in range(int(m))]
counter1 = Counter(list1)
counter2 = Counter(list2)
intersection = counter1 & counter2
answer = sorted(set(intersection))
print(len(answer))
for key in answer:
print(key)
๋ฐ์ํ
'Dev > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[PS] 14233 ๋ณด์ ๋๋ (0) | 2024.09.25 |
---|---|
[PS] 1090 ์ฒด์ปค (0) | 2024.09.24 |
[PS] 11723 ์งํฉ (0) | 2024.09.20 |
[Python] ๋ฏธ์ธ ํ (0) | 2022.05.13 |
[Python] ์์คํค ์ฝ๋(ASCII) โ๏ธ ๋ฌธ์ ๋ณํ (0) | 2022.05.13 |

๐ ๋ฌธ์
๊น์ง์์ด ๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช
๋จ๊ณผ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช
๋จ์ด ์ฃผ์ด์ง ๋, ๋ฃ๋ ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช
๋จ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ์ฒซ์งธ ์ค์ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ N, ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ M์ด ์ฃผ์ด์ง๋ค. ์ด์ด์ ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ๊ณผ, N+2์งธ ์ค๋ถํฐ ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ์ด ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด๋ฆ์ ๋์ด์ฐ๊ธฐ ์์ด ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ทธ ๊ธธ์ด๋ 20 ์ดํ์ด๋ค. N, M์ 500,000 ์ดํ์ ์์ฐ์์ด๋ค.
๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์๋ ์ค๋ณต๋๋ ์ด๋ฆ์ด ์์ผ๋ฉฐ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. ์ถ๋ ฅ๋ฃ๋ณด์ก์ ์์ ๊ทธ ๋ช
๋จ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ค.
|
โ ๋ด ๋ต
- Counter ์ฌ์ฉํด์ ๊ต์งํฉ ์ถ์ถ
- set ๋ณํํ์ฌ key๋ง ์ถ๋ ฅ
- set ๋ณํ ํ sorted๋ก ์ ๋ ฌ(reverse=True์ ๋ด๋ฆผ์ฐจ์)
import sys
from collections import Counter
n, m = sys.stdin.readline().strip().split()
list1 = [sys.stdin.readline().strip() for _ in range(int(n))]
list2 = [sys.stdin.readline().strip() for _ in range(int(m))]
counter1 = Counter(list1)
counter2 = Counter(list2)
intersection = counter1 & counter2
answer = sorted(set(intersection))
print(len(answer))
for key in answer:
print(key)
๋ฐ์ํ
'Dev > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[PS] 14233 ๋ณด์ ๋๋ (0) | 2024.09.25 |
---|---|
[PS] 1090 ์ฒด์ปค (0) | 2024.09.24 |
[PS] 11723 ์งํฉ (0) | 2024.09.20 |
[Python] ๋ฏธ์ธ ํ (0) | 2022.05.13 |
[Python] ์์คํค ์ฝ๋(ASCII) โ๏ธ ๋ฌธ์ ๋ณํ (0) | 2022.05.13 |