백준 7568 덩치(with Python)

daeungdaeung·2021년 6월 30일
0

내가 생각한 Solution

문제에서 생각해볼 점

  • 해당 문제를 잘못읽으면 학교 석차처럼 생각하고 문제를 풀게 됩니다.

    • ex) [[100, 100], [100, 50], [50, 40]] 이 주어졌다면 출력은 1 1 2가 되어야 합니다.

    • 1 1 3 이라고 생각하신 분들은 해당 문제를 우리가 중고등학교 다닐 때 성적 석차와 같이 생각을 해서 그렇습니다.

    • 해당문제는 다음과 같이 기술하고 있습니다.

      • N명의 집단에서 각 사람의 덩치 등수는 자신보다 더 "큰 덩치"의 사람의 수로 정해진다.
    • 이 말은 위에 주어진 케이스에서 마지막 사람보다 덩치가 큰 사람은 2명이기 때문에 출력이 1 1 2가 맞다는 의미입니다.

  • 즉 학교 석차처럼 생각하고 푸시면 안되고 주어진 문장 그대로 해석해서 풀면 상당히 쉬운 문제가 됩니다.

  • 따라서 코드를 보며 이해하시는게 좋을 것 같습니다. (코드가 무척이나 쉬워요. only 이중 for loop)

코드 구현

N = int(input())

info = [[] for _ in range(N)]
for i in range(N):
    weight, height = map(int, input().split())
    info[i] = [height, weight]

for idx1 in range(N):
    cnt = 1
    for idx2 in range(N):
        if idx1 != idx2:
            if info[idx1][0] < info[idx2][0] and info[idx1][1] < info[idx2][1]:
                cnt += 1
    print(f'{cnt}', end=' ')
profile
개발자가 되고싶읍니다...

0개의 댓글