boj-7568(덩치)

4775 단어 백준bojboj


덩치를 구하는 문제이다. 조건은 간단하다.
나보다 키와 몸무게가 크면, 그 사람은 나보다 덩치가 큰 것이다.

첫번째 시도


사실 좀 접근하기가 까다로웠다.
일단 등수가 중복이 되기도 하고, 그래서 딕셔너리에 구현해서 할까 하다가 그냥 일단 손 닿는대로 코드를 써내려가봤다.

대전제는 rank라는 리스트를 만들어놓고, weight_height 라는 리스트에 키와 몸무게를 저장한 뒤 비교하여, 같은 인덱스의 rank를 수정해 나가는 식으로 구현했다.

처음 시도는 rank를 전체 등 수인 input의 갯수로 처음에는 초기화를 해놓고, 하나 하나 등수를 감소시키는 식으로 구현했는데, 역시 막장이었다. 그래서 코드도 쓰기 부끄러우니까 패스..

두번째 시도


두번째로는 rank를 1등 그니까 다 1등부터 시작한다고 고정하고, weight_height가 둘 다 크면 등수를 증가시키는 방향으로 진행하였다. 그러니까 바로 패스!
아래는 코드이다.

N = int(input())
weight_height = []
rank = [1] * N
for i in range(N):
    weight_height.append(list(map(int, input().split(" "))))

for i in range(N):
    for j in range(N):
        if weight_height[i][0] < weight_height[j][0] and weight_height[i][1] < weight_height[j][1]:
            rank[i] += 1

for i in range(N):
    print(rank[i], end= ' ')

간단하였으므로, 뭐... 자세한 설명은 패스하고, 코드를 보면 될 것 같다.

맞았습니다!

좋은 웹페이지 즐겨찾기