๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด

[๋ฐฑ์ค€]10825๋ฒˆ: ๊ตญ์˜์ˆ˜

by syLim___ 2023. 3. 4.
728x90

https://www.acmicpc.net/problem/10825

 

10825๋ฒˆ: ๊ตญ์˜์ˆ˜

์ฒซ์งธ ์ค„์— ๋„ํ˜„์ด๋„ค ๋ฐ˜์˜ ํ•™์ƒ์˜ ์ˆ˜ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๊ฐ ํ•™์ƒ์˜ ์ด๋ฆ„, ๊ตญ์–ด, ์˜์–ด, ์ˆ˜ํ•™ ์ ์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ฃผ์–ด์ง„๋‹ค. ์ ์ˆ˜๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1

www.acmicpc.net


๋ฆฌ์ŠคํŠธ ์›์†Œ๋ฅผ sort๋กœ ์ •๋ ฌํ•  ๋•Œ ๋‚ด ๋งˆ์Œ๋Œ€๋กœ ์กฐ๊ฑด์„ ์„ค์ •ํ•ด์„œ ์ •๋ ฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด,

.sort(key = lambda x: (x[0], -x[1])

์ด๋Ÿฐ์‹์œผ๋กœ lambda ๋’ค์— ์šฐ์„ ์ˆœ์œ„ ์กฐ๊ฑด์„ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์œ„์˜ ๊ฒฝ์šฐ ์ฒซ๋ฒˆ์งธ ์กฐ๊ฑด์œผ๋กœ๋Š” 0๋ฒˆ์งธ ์›์†Œ ์˜ค๋ฆ„์ฐจ์ˆœ, ๋‘ ๋ฒˆ์งธ ์กฐ๊ฑด์œผ๋กœ๋Š” 1๋ฒˆ์งธ ์›์†Œ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

์ฃผ์–ด์ง„ ๋ฌธ์ œ์—์„œ๋Š” 2๋ฒˆ์งธ ์›์†Œ ๋‚ด๋ฆผ์ฐจ์ˆœ, 3๋ฒˆ์งธ ์›์†Œ ์˜ค๋ฆ„์ฐจ์ˆœ, 4๋ฒˆ์งธ ์›์†Œ ๋‚ด๋ฆผ์ฐจ์ˆœ, 1๋ฒˆ์งธ ์›์†Œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ผ๊ณ  ํ–ˆ๋‹ค.

data.sort(key=lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0]))

์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์กฐ๊ฑด์„ ์ ์–ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค.

 


์ •๋‹ต ์ฝ”๋“œ

data=[]
n = int(input())
for i in range(n):
  name, ks, es, ms = input().split()
  data.append((name,ks,es,ms))

data.sort(key=lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0]))

for i in range(n):
  print(data[i][0])
728x90