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

[๋ฐฑ์ค€]8979๋ฒˆ: ์˜ฌ๋ฆผํ”ฝ

by syLim___ 2023. 3. 12.
728x90

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

 

8979๋ฒˆ: ์˜ฌ๋ฆผํ”ฝ

์ž…๋ ฅ์˜ ์ฒซ ์ค„์€ ๊ตญ๊ฐ€์˜ ์ˆ˜ N(1 ≤ N ≤ 1,000)๊ณผ ๋“ฑ์ˆ˜๋ฅผ ์•Œ๊ณ  ์‹ถ์€ ๊ตญ๊ฐ€ K(1 ≤ K ≤ N)๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๊ตญ๊ฐ€๋Š” 1๋ถ€ํ„ฐ N ์‚ฌ์ด์˜ ์ •์ˆ˜๋กœ ํ‘œํ˜„๋œ๋‹ค. ์ดํ›„ N๊ฐœ์˜ ๊ฐ ์ค„์—๋Š” ์ฐจ๋ก€๋Œ€๋กœ ๊ฐ

www.acmicpc.net


๋ฌธ์ œ์—์„œ ์กฐ์‹ฌํ•ด์•ผ ํ•  ์กฐ๊ฑด

 -๊ณต๋™์ˆœ์œ„๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ 1๋“ฑ, 2๋“ฑ, 2๋“ฑ, 3๋“ฑ ์ด๋Ÿฐ์‹์œผ๋กœ ์ˆœ์œ„๊ฐ€ ๋งค๊ฒจ์ง€๋Š” ๊ฒŒ ์•„๋‹˜. 1๋“ฑ, 2๋“ฑ, 2๋“ฑ, 4๋“ฑ ์œผ๋กœ ๋งค๊ฒจ์ง„๋‹ค.

 -๊ตญ๊ฐ€๋ฒˆํ˜ธ๊ฐ€ 1๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ž…๋ ฅ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

 

๊ฐœ์ธ์ ์œผ๋กœ ์œ„ ์กฐ๊ฑด๋“ค์„ ์ž˜๋ชป ์ฝ์–ด์„œ ์ •๋‹ตํŒ์ • ๋ฐ›๋Š” ๋ฐ์— ์ƒ๊ฐ๋ณด๋‹ค ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ ธ๋‹ค.

๋ฌธ์ œ๋ฅผ ๋˜‘๋ฐ”๋กœ ์ฝ์Ÿˆ..


์ •๋‹ต ์ฝ”๋“œ

import sys
input=sys.stdin.readline

n,k = map(int,input().split())
medals=[]
for i in range(n):
  medals.append(list(map(int,input().split())))

medals.sort(key=lambda x: (-x[1], -x[2], -x[3])) #์ •๋ ฌ

medals[0].append(1)
rank=1
same=1
for i in range(1,len(medals)):
  if medals[i][1]==medals[i-1][1] and medals[i][2]==medals[i-1][2] and medals[i][3]==medals[i-1][3]:
    same += 1
    medals[i].append(rank)
  else:
    rank += same #๋™์ˆœ์œ„๋งŒํผ ์ˆœ์œ„ ์ฆ๊ฐ€์‹œ์ผœ์ฃผ๊ธฐ
    same = 1
    medals[i].append(rank)

for i in medals:
  if i[0]==k:
    print(i[4])
    exit()
728x90