[Python]BaekJoon.AC

[Python]백준 BaekJoon.AC 7568 : 덩치(list, for문)

스뇨잉 2022. 1. 13. 17:59
728x90
728x90

 

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

 

7568번: 덩치

우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩

www.acmicpc.net

 

 

와 문제 이해를 잘못해서 삽질을....!!

그냥 키 몸무게 비교해서 등수 선정해줬더니 자꾸 틀렸다고 뜨는거 아니겠어..?

문제 이해를 못한 것 같긴 했는데 어딜 잘못 이해했는지 알 수 없었다.

 

그러다

3
11 11
10 12
11 13

반례를 봤는데 정답이 "1 2 1"이었다.

 

여기서부터 내 코드에 의구심이 들기 시작하였다.

내 머리로는 1 1 1이 정답인데!

그리고 내가 이해한 조건으로, 일단 2가 절대 나올 수가 없었다. 나와도 1 3 1이 나와야 하는데.

어떻게 공동 1등이 있는데 그 다음 등수가 2등일까...

문제를 다시 찬찬히 읽어보고 깨달았다.

 

"각 사람의 덩치 등수는 자신보다 더 "큰 덩치"의 사람의 수로 정해진다."

 

그냥 일반적으로 줄 세우는게 아니라 독특한 기준이 있었구나...

이마를 탁 치고 코드를 다 지웠다..ㅋㅋㅋ

오히려 코드가 더 간결해지고 쉬워졌다.

쉬운 문제였구나, 다시금 깨달았다. 씁...

이미 자바로 풀어본 문제라 너무 자만했지 싶다.

문제를 잘 읽어야겠다. 덕분에 리스트 다루는 능력이 향상됐다..

 

 

 

N = int(input())
big = []
score = ""

for i in range(N):
    x, y = map(int, input().split())
    big.append([])
    big[i].append(x)
    big[i].append(y)

for man in big:
    count = 0
    for m in big:
        if man[0] < m[0] and man[1] < m[1]:
            count = count + 1
    score = score + str(count+1) + " "

print(score)

 

728x90
728x90