ssw02238   2년 전

최대한 질문하는 것을 지양하고자.... 질문 게시판 반례들을 최대한 넣어서 답도 확인해보았는데 

문제를 돌릴때 금방 틀렸습니다가 뜹니다 

어느 부분에서 코드 흐름이 잘못 되었을 지 판단해주시면 감사하겠습니다!!

코드 흐름

1. people 변수에 weight, height, index 순으로 리스트에 집어넣고 몸무게, 키 순으로 정렬했습니다. (~ 코드 11줄까지 해당)

2. ranking 이라는 리스트에 모두의 등수를 0으로 채워넣었습니다. (코드 15줄)

3. 정렬된 people 안에 0번째 사람은 무조건 1등일 것이기 때문에 해당 index에 1등을 넣고, 1~N 번까지 for문을 돌리면서 앞 주자와 몸무게, 키를 비교합니다. 

4. 이미 몸무게 - 키 로 정렬이 되었기 때문에 몸무게와 키 둘 다 앞 주자 보다 작은 경우만 다음 등수로 넘어가거 나머지는 모두 앞 주자와 같은 등수를 가지도록 설계했습니다. 

5. 그 후 ranking 값들을 하나씩 순서대로 출력했습니다. 


* 아 코드에 있는 import sys는 당연히 지우고 실행해봤습니다. 


zigui   2년 전

https://www.acmicpc.net/board/...

이 코드와 같아보이는데, 반례와 답변 확인해보세요.

ssw02238   2년 전

답변 감사합니다 

해당 반례가 다음과 같은 것으로 보이는데 

입력:
3
3 1
2 2
1 1

출력:
1 1 2

왜 1 1 3 이 아니라 1 1 2 가 출력되어야 하나요...? 

문제 예시에 따르면 앞 등수는 누적으로 처리돼서 마지막 주자는 3등으로 되어야 하는게 아닌가요?!

zigui   2년 전

마지막 주자보다 키와 몸무게가 모두 큰 사람은 2번 사람으로 한 명만 있기 때문입니다.

댓글을 작성하려면 로그인해야 합니다.