๋ฌธ์
https://www.acmicpc.net/problem/10814
๋ฐฑ์ค ๋ฌธ์ ์ง - 0x0E๊ฐ - ์ ๋ ฌ I
์๊ณ ๋ฆฌ์ฆ: ์ ๋ ฌ
ํ์ด
์จ๋ผ์ธ ์ ์ง์ ๊ฐ์ ํ ์ฌ๋๋ค์ ๋์ด์ ์ด๋ฆ์ด ๊ฐ์ ํ ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด๋, ํ์๋ค์ ๋์ด๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, ๋์ด๊ฐ ๊ฐ์ผ๋ฉด ๋จผ์ ๊ฐ์ ํ ์ฌ๋์ด ์์ ์ค๋ ์์๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ์ ๊ฐ์ ํ ์์๋ก ์ฃผ์ด์ง๋ค.
์ด N๊ฐ์ ์ค์ ๊ฑธ์ณ ์จ๋ผ์ธ ์ ์ง ํ์์ ๋์ด ์, ๋์ด๊ฐ ๊ฐ์ผ๋ฉด ๊ฐ์ ํ ์์ผ๋ก ํ ์ค์ ํ ๋ช ์ฉ ๋์ด์ ์ด๋ฆ์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ค.
Python์ ๊ธฐ๋ณธ์ ์ผ๋ก Tim sort๋ฅผ ์ฌ์ฉํ๊ธฐ๋๋ฌธ์, ๊ฐ์ด ๊ฐ์ ํญ๋ชฉ๋ค์ ์ ๋ ฅ๋ ์์๋๋ก ์ ๋ ฌ๋๋ค.
๊ทธ๋ผ? ๋์ด ์์๋๋ก ์ ๋ ฌ๋ง ํด์ฃผ๋ฉด ๋๊ฒ ๋ค.
์ฐธ๊ณ ๋ก ์ ๋ ฅ๋ฐ์ดํฐ๋ ๋ฌธ์์ด๋ก ์ฃผ์ด์ง๋๋ฐ ์ ๋ ฌ ์ ์ฌ์ฉ๋๋ ๋์ด๊ฐ์ intํ์ด์ด์ผํ๋ค. ์๊ทธ๋ฌ๋ฉด ์ฌ์ ์์ผ๋ก ์ ๋ ฌ๋๋ค.
ex) "1", "10", "2" ...
์ ๋ ฅ๋ฐ์ดํฐ๊ฐ ๋์ด ์ด๋ฆ ํํ๋ก ์ฃผ์ด์ง๋ฏ๋ก ๋ฆฌ์คํธ or ํํ๋ก ๋ฌถ์ด์ค ๋ค ๋ฆฌ์คํธ์ ์ถ๊ฐํ๋ค.
(๋์ฒ๋ผ ์ ์ฅํ ๋๋ถํฐ intํ์ผ๋ก ์ ์ฅํด๋ ๋๊ณ , ์ ๋ ฌํ ๋์๋ง intํ์ผ๋ก ๋ณํํด๋ ์๊ด์๋ค.)
๊ทธ๋ฆฌ๊ณ sort()์ ํค ํจ์๋ฅผ ์ฌ์ฉํด ๋์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ค.
์์์ ์ค๋ช ํ๋ค์ํผ ๋์ด๊ฐ ๊ฐ๋ค๋ฉด ์ ๋ ฅ๋ ์์(๊ฐ์ ๋ ์์)๋ก ์์์ ์ ๋ ฌ๋๋ค.
์ ์ฒด ์ฝ๋
# ๋ฉ๋ชจ๋ฆฌ: 46140KB / ์๊ฐ: 224ms
import sys
input = sys.stdin.readline
N = int(input())
members = []
for _ in range(N):
age, name = input().split()
members.append((int(age), name))
members.sort(key=lambda x: x[0])
for a, n in members:
print(a, n)