๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/10825
10825๋ฒ: ๊ตญ์์
์ฒซ์งธ ์ค์ ๋ํ์ด๋ค ๋ฐ์ ํ์์ ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ๊ฐ ํ์์ ์ด๋ฆ, ๊ตญ์ด, ์์ด, ์ํ ์ ์๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ฃผ์ด์ง๋ค. ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ด๋ฆ์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๊ณ , ๊ธธ์ด๋ 10์๋ฆฌ๋ฅผ ๋์ง ์๋๋ค.
www.acmicpc.net
๋ฆฌ์คํธ์ ์์ ์ธ๋ฑ์ค๋ฅด ๊ธฐ์ค์ผ๋ก sortํ๋ ๋ฐฉ๋ฒ์ ์์์ผ ํ๋ค.
arr.sort(key=lambda x: x[0] ) -> x[0]๋ฒ ๊ธฐ์ค์ผ๋ก sort
*๋ด ์ฝ๋
N = int(input()) ; arr = []
for _ in range(N):
arr.append(list(map(str,input().split())))
arr.sort(key=lambda x : str(x[0])) ##4
arr.sort(key=lambda x:int(x[3]), reverse=True) ##3
arr.sort(key = lambda x : int(x[2])) ## 2
arr.sort(key = lambda x: int(x[1]), reverse = True)##1
for i in arr :
print(i[0])
arr.sort๋ฅผ 4๋ฒ์ด๋ ์ฌ์ฉํ๋ค. ์ด๋ ๊ฒ ์ผ์ผ์ด ์ฌ์ฉํ์๋๋ ๋ฌธ์ ์์ ์ ์ํ ์ ๋ ฌ์์์, ์ค์ ๋ก ์ํ
ํ๋ ์์๋ฅผ ๋ฐ๋๋ก ํด์ผํ๋ค. (๋ฌธ์ ์์ ์ ์ํ 1์์ ๊ธฐ์ค์ ๋ง์ง๋ง ์์๋ก ์ฝ๋ฉํด์ผ, 1์์๋ก ์ ์ฉ๋๊ธฐ ๋๋ฌธ)
๋ค๋ฅธ์ฌ๋์ ์ฝ๋๋ฅผ ๋ณด๋, ์ด๋ฐ์์ผ๋ก ์ข ๋ ๊น๋ํ๊ฒ ์ฌ์ฉํ๋ค.
*๋ชจ๋ฒ ์ฝ๋
N = int(input()) ; arr = []
for _ in range(N):
a,b,c,d = list(map(str,input().split()))
arr.append( [a, int(b),int(c),int(d)])
arr.sort(key = lambda x : (-x[1] , x[2],-x[3],x[0]) )
for i in arr :
print(i[0])
sort(reverse=True)๋ฅผ ๋๋ค์์์, ๋ง์ด๋์ค๋ฅผ ๋ถ์ด๋ ๋ฐฉ๋ฒ์ผ๋ก ์งง๊ฒ ์ฌ์ฉํ ์ ์์๋ค.
์ด๋ ๊ฒ ํ๋ ๋ฌธ์ ์์ ์ ์ํ๋ ์ ๋ ฌ์์์, ์ฝ๋ฉํ๋ ์ ๋ ฌ์์๋ ์ผ์นํ๊ณ ์ข ๋ ๊ฐ๋
์ฑ๋ ์ข์๋ค.
arr.sort(key = lambda x : x[1], reverse=True) == arr.sort(key=lambda x : -x[1])