๐ ํ์ด
์ ๋ ฌ ํ ํฌํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ์ฌ a์ ๊ฐ ํ๋๋ฅผ b์ ๊ฐ ์ ๋ถ ํ๋ํ๋ ๋น๊ตํด๊ฐ๋ฉด์ a์ ๊ฐ์ด ํด๋์ ๊ฐฏ์๋ฅผ ์นด์ดํธ ํด์ค๋ค.
๐ป ์ฝ๋
import sys
input = sys.stdin.readline
for i in range(int(input().rstrip())):
# a์ b์ ๊ฐฏ์๋ฅผ ์
๋ ฅ๋ฐ์
a, b = map(int, input().rstrip().split())
# a์ b ์ ๋ณด๋ฅผ ์
๋ ฅ๋ฐ์(์๋ช
์ฒด A, B)
a_num = list(map(int, input().rstrip().split()))
b_num = list(map(int, input().rstrip().split()))
# ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
a_num.sort(reverse=True)
b_num.sort(reverse=True)
a_idx, b_idx = 0,0
cnt = 0
while a_idx < a and b_idx < b:
# ๋ง์ฝ a[i]๊ฐ b[i]๋ณด๋ค ํฌ๋ค๋ฉด
if a_num[a_idx] > b_num[b_idx]:
# b[i:] ์ฆ ํ์ฌ๋ถํฐ ๋ด๋ฆผ์ฐจ์์ ๋ ๊ธธ์ด๋ฅผ ์นด์ดํธ์ ๋ํจ
cnt += b-b_idx
# a ์๋ช
์ฒด ๊ฐ ๋ณ๊ฒฝ
a_idx += 1
# a[i]๊ฐ ์๋ค๋ฉด
else:
# b๋ฅผ ํ๋ ๋ด๋ฆฐ๋ค.
b_idx += 1
print(cnt)
๐ ๋ฌธ์ ๋งํฌ : ๋จน์ ๊ฒ์ธ๊ฐ ๋จนํ ๊ฒ์ธ๊ฐ
'Problem Solving > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1629๋ฒ: ๊ณฑ์ - ํ์ด์ฌ (1) | 2022.05.16 |
---|---|
[๋ฐฑ์ค] 14425๋ฒ: ๋ฌธ์์ด ์งํฉ - ํ์ด์ฌ (0) | 2022.05.15 |
[๋ฐฑ์ค] 1935๋ฒ: ํ์ ํ๊ธฐ์2 - ํ์ด์ฌ (0) | 2022.05.08 |
[๋ฐฑ์ค] 9536๋ฒ: ์ฌ์ฐ๋ ์ด๋ป๊ฒ ์ธ์ง? - ํ์ด์ฌ (0) | 2022.05.07 |
[๋ฐฑ์ค] 1193๋ฒ: ๋ถ์์ฐพ๊ธฐ - ํ์ด์ฌ (0) | 2022.05.05 |