728x90
문제 참고 https://www.acmicpc.net/problem/7568
키와 몸무게가 주어질 때 두 가지 모두 커야 덩치가 크다.
각각 리스트에 넣어준 후 for문을 이용해 모두 큰 경우에만 카운팅을 해주었다.
하지만 문제에서 원하는 결과는 '내가 몇번 째로 크냐'가 아닌 '나보다 큰 사람이 몇명인가' 였다.
N = int(input())
height = [] # 키를 담을 리스트
weight = [] # 몸무게를 담을 리스트
cnt = N
for i in range(N):
x,y = map(int, input().split())
height.append(y)
weight.append(x)
for i in range(N):
for j in range(N):
if weight[i] > weight[j] and height[i] > height[j]:
cnt -= 1
elif weight[i] > weight[j] and height[i] < height[j]:
cnt -= 1
elif weight[i] < weight[j] and height[i] > height[j]:
cnt -= 1
print(cnt, end=' ')
cnt = N
처음 푼 코드를 보면 문제를 잘 못 읽어 등수를 구하였고 테스트 케이스 중 틀린 것들이 나왔다.
문제를 다시 읽고 조건을 다시 확인하였고 덩치가 큰 사람을 만난다면 +1씩 해주었다.
# 덩치 - 키와 몸무게를 이용하여 등수 표현
# 키와 몸무게 둘다 커야 덩치가 크다
# 키는 크지만 몸무게가 적을 경우 동등수
# 사람 수 N 주어지고
# N개의 줄에 x space y
#덩치 등수 구해서 첫줄에 출력
N = int(input())
height = [] # 키를 담을 리스트
weight = [] # 몸무게를 담을 리스트
for i in range(N):
x,y = map(int, input().split())
height.append(y)
weight.append(x)
for i in range(N):
cnt = 1
for j in range(N):
if i == j:
continue # 같은 사람끼리 비교하지 않기위하여
if (weight[i] < weight[j]) and (height[i] < height[j]):
#if height[i] > height[j]:
cnt +=1
print(cnt, end=' ')
728x90
'ALGORITHM > Brute Force' 카테고리의 다른 글
[백준18111번] 파이썬 - 마인크래프트 (0) | 2022.09.18 |
---|---|
[SWEA 1258] 파이썬 - 행렬찾기 (0) | 2022.08.28 |
[프로그래머스 lv.1] 파이썬 - 모의고사 (0) | 2022.08.26 |
[백준 2034번] 파이썬-창고 다각형 (0) | 2022.08.26 |
[백준 1057] 파이썬_토너먼트 (0) | 2022.08.09 |