[Python] 백준7568 덩치

[Python] 백준7568 덩치

백준7568 덩치 링크

문제

문제

예제 입력

예제


코드

import sys

n = int(sys.stdin.readline())
arr = [ list(map(int, sys.stdin.readline().split())) for _ in range(n) ]

for i in range(n) :
    rank = 1
    for j in range(n) :
        if i != j and arr[i][0] < arr[j][0] and arr[i][1] < arr[j][1] :
            rank += 1
    print(rank, end=" ")

설명

파이썬을 통해서 사용자로부터 입력받아 조건문/반복문으로 사용하여 덩치을 구현했습니다.


정리

import sys

n = int(sys.stdin.readline())
arr = [ [ x+1, list(map(int, sys.stdin.readline().split())), 1] for x in range(n) ]
arr.sort(key = lambda item : item[1], reverse=True)

rank = 1
for i in range(1, n) :

    if arr[i-1][1][1] > arr[i][1][1] :
        rank = i + 1
    arr[i][2] = rank

arr.sort(key = lambda item : item[0])
for i in arr :
    print(i[2], end=" ")

처음 문제를 봤을 때는 정렬하여 해결하면 되겠다는 안일한 생각으로 풀어 오답이 발생했습니다. 결국 이런 방식으로 하면 1등과 덩치가 비슷해도 몸무게의 순서로 인해 1등을 못하게 됩니다.


결과

결과


© 2022. All rights reserved. 신동민의 블로그