ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
์ฒ์ ๋ฌธ์ ๋ฅผ ์ ํ์์ ๋๋ ๋๋ผ์์ ๊ฐ ์ฌ๋๋ค๊น์ง์ ๊ฑฐ๋ฆฌ์ ํฉ์ด ์ต์๊ฐ ๋๋ ์์น์ ์๋ฏธ๋ฅผ ์ดํดํ์ง ๋ชปํ๋ค. ์ฝ๋๋ฅผ ์์ฑํ๋ ์๊ฐ๋ณด๋ค ๋ฌธ์ ์์ ์๋ฏธํ๋ ๋ฐ๋ฅผ ์๊ฐํ๋ ๋ฐ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋ ์์๋ ๊ฒ ๊ฐ๋ค.
์ฆ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ ์ค๊ฐ ๊ฐ์ ๊ณ์ฐํ๊ณ , ๊ฐ ๋ง์์ ๋ฒํธ ์์๋๋ก ์ ๋ ฌํ๋ค. ์ ๋ ฌ๋ ๋ง์์ ๊ธฐ์ค์ผ๋ก ํ๋์ฉ ์ธ๊ตฌ์๋ฅผ ๊ณ์ฐํ์ฌ ์ค๊ฐ๊ฐ๊ณผ ๊ฐ์ฅ ๊ทผ์ ํ ๋ง์์ ์ฐพ์ ์ถ๋ ฅํ๋ฉด ๋๋ค.
์ฝ๋
from sys import stdin
TOWN = 0
POP = 1
if __name__ == "__main__":
N = int(stdin.readline())
info = sorted([list(map(int, stdin.readline().split())) for _ in range(N)])
mid = sum(population for _, population in info) // 2
temp, idx = 0, 0
while temp < mid:
temp += info[idx][POP]
idx += 1
'''
์๋์ ๊ฐ์ Test Case ์ฒ๋ฆฌ์ฉ, N == 2์ธ ๊ฒฝ์ฐ๋ฅผ ํ๋จํ์ง ์์ผ๋ฉด 99%์์ ์ค๋ต
case1 case2
2 2
1 1 1 1
2 1 2 2
case 1์ ๊ฒฝ์ฐ, 1์ ์ถ๋ ฅํ์ฌ์ผ ํจ (๋ง์์ ์ธ๊ตฌ์๊ฐ ๊ฐ์ ๊ฒฝ์ฐ, ๋ฒํธ ์๋๋ก ์ถ๋ ฅ)
case 2์ ๊ฒฝ์ฐ, 2๋ฅผ ์ถ๋ ฅํ์ฌ์ผ ํจ (ํ์์ธ ๊ฒฝ์ฐ)
'''
if N == 2:
print(info[1][TOWN] if info[0][POP] < info[1][POP] else info[0][TOWN])
else:
print(info[idx - 1][TOWN])
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 17140 ์ด์ฐจ์ ๋ฐฐ์ด๊ณผ ์ฐ์ฐ (0) | 2021.03.28 |
---|---|
๋ฐฑ์ค: 8980 ํ๋ฐฐ (0) | 2021.03.19 |
๋ฐฑ์ค: 11000 ๊ฐ์์ค ๋ฐฐ์ (0) | 2021.03.15 |
๋ฐฑ์ค: 16953 A โ B (0) | 2021.03.15 |
๋ฐฑ์ค: 2800 ๊ดํธ ์ ๊ฑฐ (0) | 2021.03.12 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ