-
[BOJ] 7568번 : 덩치Algorithm/Baekjoon Online Judge 2022. 3. 21. 22:54728x90
https://www.acmicpc.net/problem/7568
Python3
if __name__ == '__main__': N = int(input()) persons = [] for _ in range(N): persons.append(tuple(map(int, input().split()))) sizes = [1] * N for i in range(N-1): for j in range(i+1, N): w1, h1 = persons[i] w2, h2 = persons[j] if w1 > w2 and h1 > h2: sizes[j] += 1 elif w2 > w1 and h2 > h1: sizes[i] += 1 print(*sizes, sep=' ')
문제에 설명이 잘 나와있어서 문제의 설명대로만 코드를 작성하면 됐다.
사람 수와 키 몸무게를 입력받고 리스트에 저장했다.
덩치 등수를 저장할 배열 sizes를 선언했는데 이때 모두의 덩치등수 초기값은 1로 해주었다.
먼저 덩치 비교를 위해서 두명을 고르는 과정이 필요하다. 이때는 반복문을 통해서 한번 비교했던 두 사람은 다시 비교하지 않도록 순서를 정했다.
두명의 몸무게와 키를 각각 비교했을 때 덩치가 더 작은 사람의 덩치 등수를 증가시켰다. 첫 번째 사람의 덩치가 큰 경우, 두번째 사람의 덩치가 큰경우 두가지 경우에 대해서 조건 식을 작성했다.
모든 사람간의 비교가 끝난 후 sizes에는 덩치 등수가 들어있으므로 이를 출력하면 됐다.
리스트의 괄호를 제거하고 각 덩치등수마다 공백을 한칸 주어야했는데 리스트의 괄호를 쉽게 제거할 수 있는 방법을 구글링을 통해 찾았다. 리스트 앞에 *를 붙이면 괄호각 제거되어 리스트를 해제한 상태가 된다는 것을 새롭게 알게 되었다.
728x90'Algorithm > Baekjoon Online Judge' 카테고리의 다른 글
[BOJ] 1436번: 영화감독 숌 (0) 2022.03.22 [BOJ] 1018번: 체스판 다시 칠하기 (0) 2022.03.22 [BOJ] 2231번: 분해합 (0) 2022.03.21 [BOJ] 2798번 (0) 2022.03.21 [BOJ] 11729번 (0) 2022.03.20