Algorithm/BOJ
[백준/7568] 덩치 (with 파이썬)
Potato potage
2022. 11. 27. 21:50
반응형
✔ 문제
✔ 풀이
import sys
input = sys.stdin.readline
n = int(input())
person = [list(map(int, input().split())) for _ in range(n)]
res = []
for i in range(n):
count = 0
for j in range(n):
if person[i][0] < person[j][0] and person[i][1] < person[j][1]:
count += 1
res.append(count + 1)
print(*res)
✔ 설명
자신을 포함하여 키와 몸무게를 다른 사람과 비교한다.
키와 몸무게 둘 다 자신보다 클 경우, count += 1을 하면 된다.
✔ 후기
등수가 왜 이렇게 나오는지 잘 이해가 안됐다.
예제로 설명해보자면,
(55, 185)의 경우 키, 몸무게 둘 다 자신보다 큰 사람은 (88, 186) 밖에 없으므로 1 + 1 = 2위가 된다.
(58, 183)의 경우 키, 몸무게 둘 다 자신보다 큰 사람은 (88, 186) 밖에 없으므로 1 + 1 = 2위가 된다.
(88, 186)의 경우 키, 몸무게 둘 다 자신보다 큰 사람은 자신 밖에 없으므로 0 + 1 = 1위가 된다.
(60, 175)의 경우 키, 몸무게 둘 다 자신보다 큰 사람은 (88, 186) 밖에 없으므로 1 + 1 = 2위가 된다.
(58, 183)의 경우 키, 몸무게 둘 다 자신보다 큰 사람은 (88, 186) 밖에 없으므로 1 + 1 = 2위가 된다.
(46, 155)의 경우 키, 몸무게 둘 다 자신보다 큰 사람은 (55, 185), (58, 183), (88, 186), (60, 175) 밖에 없으므로 4 + 1 = 5위가 된다.
이렇게 이해하면 코드는 어렵지 않게 구현할 수 있다.
반응형