728x90
예시 케이스에만 적용된다고 통과하는것이 아니고,
이외의 발생할 수 있는 예외케이스를 생각해서 코드를 짜야한다..
N=int(input())
weight=[i for i in range(N)]
height=[i for i in range(N)]
rank=[0 for i in range(N)]
for i in range(N):
weight[i],height[i]=map(int,input().split())
i=1
while True:
temp=0
a=weight.index(max(weight))
if max(height)==height[a]:
rank[a]=i
weight[a]=height[a]=0
else:
for j in range(len(height)):
if height[a]<height[j]:
rank[j]=i
weight[j]=height[j]=0
temp+=1
rank[a]=i
weight[a]=height[a]=0
i=i+temp+1
if max(weight)==0: break
처음에는 이렇게 등수만 생각하고
비교 할 수 없는 값은 한번에 처리해서 +1 등수로 했는데 계속 틀렸다.
문제에 등수가 자기보다 덩치 큰 사람의 수 +1이라고 되어 있어서 뭐지..? 하다가
비교 할 수 없는 값 사이에도 중간값 처럼 비교할 수 있는 값이 있을 수 있다는 생각이 들었다.
N=int(input())
weight=[i for i in range(N)]
height=[i for i in range(N)]
rank=[0 for i in range(N)]
for i in range(N):
weight[i],height[i]=map(int,input().split())
for i in range(N):
cnt=0
for j in range(N):
if i==j: pass
elif weight[i]<weight[j]:
if height[i]<height[j]:
cnt+=1
rank[i]=cnt+1
for num in rank:
print(num,end=' ')
괜히 브루트포스 단계에 있던 문제가 아니었음..
simple 하게 끝
728x90
'Baekjoon Case' 카테고리의 다른 글
[백준 #2750] 수 정렬하기 - 파이썬(python) (0) | 2021.08.10 |
---|---|
[백준 #1436] 영화감독 숌 - 파이썬(python) (0) | 2021.08.10 |
[백준 #1018] 체스판 칠하기 - 파이썬(python) (0) | 2021.08.10 |
[백준 #2231] 분해합-파이썬 (0) | 2021.08.09 |
[백준 #2798] 블랙잭 - 파이썬 (0) | 2021.08.09 |