AngelPlayer`s Diary

링크

https://www.acmicpc.net/problem/7568

 

7568번: 덩치

우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩

www.acmicpc.net

 

 

 

문제 해석

몸무게와 키로 사람의 등수(덩치)를 매기는 문제이다.

 

사람 A와 B가 있을 때 A가 몸무게와 키가 모두 큰 경우 'A가 B보다 더 덩치가 크다'라고 간주한다. (A가 B보다 순위가 높다.)

한편 A가 B보다 무게는 더 나가지만 키는 더 작은 경우, 또는 A가 B보다 무게는 덜 나가지만 키는 더 큰 경우 동일한 덩치라고 가정한다. (동일한 순위이다.)

 

이때 입력받은 사람의 무게와 키를 가지고 덩치 순위를 지정하는 문제이다.

 

 

 

 

코드

 

 

 

코드 해석

# input

첫 번째 input으로 등수를 매길 인원 수를 입력받고(line 4), 입력받은 인원 수 만큼 input을 반복하여 무게와 키를 list에 넣어준다(line 5-8). 

이때 입력을 list 형태로 받고 각 리스트의 마지막에 1을 추가한다(line 9 / 등수 용도).

ex) person[0] -> [55, 185, 1]

 

# process

반복을 통하여 현재 등수를 매길 사람(person[i])의 무게와 키를 비교 대상(person[j])을 비교하여(line 14), 등수를 매길 사람이 덩치가 더 작다면 등수를 내린다(line 15).

 

# output

person의 마지막 원소(등수)만 선택하여 출력한다.

 

 

 

발생한 문제 & 해결 방안

처음에는 무게를 먼저 비교하고, 다음 키를 비교하는 방식으로 구상하였으나, for문이 2배가량 증가하여 이를 줄이는 방법으로 다시 구상하였다.

 

 

 

 

 

 

해당 코드는 에디터가 코드 연습을 위해 직접 작성하였습니다.

혹시 오류가 있거나 더 좋은 코드 방향성을 아시는 분은 댓글로 남겨주시면 감사하겠습니다..!

공유하기

facebook twitter kakaoTalk kakaostory naver band