[python_파이썬_pass]백준_7568번_덩치_실버5_풀이

2024. 10. 7. 22:37코드리뷰

728x90
반응형

공부하는허딩크 : https://www.youtube.com/live/ioCTBnwKKEE?feature=shared

 

<첫번째 시도 : 맞았습니다.>

문제가 주어진 대로 순서에 맞게 구현했다.

모든 이름의 몸무게와 키를 비교해서 각 순위를 매겨하 하는데 같은 등수도 있으니까 조건을 3개를 두었다.

import sys
input = sys.stdin.readline

N = int(input())
graph = []
nums = [N for _ in range(N)]

for _ in range(N):
    x, y = map(int, input().split())
    graph.append([x, y])
   
for i in range(N):
    for j in range(N):
        if i == j:
            continue
        else:
            if graph[i][0] > graph[j][0] and graph[i][1] > graph[j][1]:
                nums[i] -= 1
            elif graph[i][0] > graph[j][0] or graph[i][1] > graph[j][1]:
                nums[i] -= 1
            elif graph[i][0] == graph[j][0] or graph[i][1] == graph[j][1]:
                nums[i] -= 1

print(*nums)

 

<다른 사람 풀이 참고>

와... 정말 깔끔하다. 이게 맞지.... 

첫번째 (몸무게, 키)를 기준으로 비교 했을때 다른 요소가 모두 클 경우 + 1을 해줘서 랭크를 하는게 맞는거지.

나는 나무를 본거고 아래의 코드는 숲을 봤네....

N = int(input())
hu_list = [tuple(map(int, input().split())) for _ in range(N)]

for i in hu_list:
    rank = 1
    for j in hu_list:
        if i[0] < j[0] and i[1] < j[1]:
                rank += 1
    print(rank, end = " ")
728x90
반응형