카카오 2019 블라인드 코딩테스트 2번
문제보기 오늘은 카카오 2019년 공채 1차의 코딩테스트의 2번문제를 풀어보았다. 밑은 작성코드이다.
우선 처음 실패한 사람의 수를 세어주어야하고, 실패한 사람이 카운트가되면 그만큼 남아있는 사람의 수를 줄여주는 것이 첫번째이다. 두번째는 실패율이기 때문에, 다른 방법도 되지만, 나는 double을 사용하여 소수점을 구하게 하였다(integer로 설정하게 되면, 값이 전부 0 이나오게 됨). 그렇게하여 스테이지를 키값 실패율을 값으로 설정하여 hashmap을 사용하여 넣어주고, comparator의 오버라이딩을 통하여 값으로 정렬해주고 Entry에 들어있는 값에 키값을 가져와서 answer 배열에 하나씩 넣어주는 방법을 하였다.
새로 알게 된 것
- 살짝 부끄럽긴한데 처음 값이 0이 나왔을 때 당황하였다. 소수는 double을 쓰자…
- Entry를 사용하여 collection객체인 map도 키값에 따라 키에따른 값에 대해서도 정렬이 가능하다는 것을 알았다. 물론 compareTo메소드를 오버라이드 해야하지만, 정렬에서는 기본이니.. 알아두자