7568번: 덩치
우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩
www.acmicpc.net
입력
첫 줄에는 전체 사람의 수 N이 주어진다. 그리고 이어지는 N개의 줄에는 각 사람의 몸무게와 키를 나타내는 양의 정수 x와 y가 하나의 공백을 두고 각각 나타난다.
출력
여러분은 입력에 나열된 사람의 덩치 등수를 구해서 그 순서대로 첫 줄에 출력해야 한다. 단, 각 덩치 등수는 공백문자로 분리되어야 한다.
해결 방법
리스트에 x, y 를 저장하고 반복문을 탐색한다.
해결 과정
이 문제를 두 번에 걸쳐서 풀었다.
첫 번째 풀이과정은 진행하다가 막혔(...?)기 때문이다.
리스트에 키와 몸무게를 2차원 배열로 저장하고 이를 정렬하는 방식으로 구현을 했더니 정렬 이후 순서를 출력하는 과정에서 막혀버린 것이었다. (정답률 또한 높았기 때문에 접근방식이 잘못되었다는 것을 느꼈다.)
고민을 좀 해봤고 정렬이 필요없는 문제임을 깨달았다.
등수를 의미하는 변수 count를 선언해주고 키와 몸무게가 둘 다 큰 경우 등수는 밀리기 때문에 이를 구현해주었다.
중첩 반복문 안의 if문이 그 부분이다.
모든 경우를 돌면서 자기보다 키와 몸무게가 둘 다 큰 경우 등수를 +1 해주었다.
최종 코드는
def main():
num = int(input())
input_list = []
for i in range(num):
input_list.append(list(map(int, input().split())))
for i in range(len(input_list)):
count = 1
for j in range(len(input_list)):
if input_list[i][0] < input_list[j][0] and input_list[i][1] < input_list[j][1]:
count += 1
print(count, end = ' ')
if __name__ == "__main__":
main()
'✍️ 코테 준비 > Brute Force' 카테고리의 다른 글
[브루트 포스 / Python] BOJ 1436 - 영화감독 숌 (0) | 2021.01.11 |
---|---|
[브루트 포스 / Python] BOJ 1018 - 체스판 다시 칠하기 (0) | 2021.01.11 |
[브루트 포스 / Python] BOJ 2231 - 분해합 (0) | 2021.01.11 |
[브루트 포스 / Python] BOJ 2798 - 블랙잭 (0) | 2021.01.07 |