티스토리 뷰
링크 : https://www.hackerrank.com/challenges/climbing-the-leaderboard/problem
문제>
* 리더보드에 있는 순위별로 표시 되어 있는 점수표에 갱신 된 점수들의 순위를 구하라.
- 단, 같은 점수는 동일 순위이다.
- 기존 리더보드는 내림차순.
- 갱신 될 리더보드는 오름차순.
해결방법.
1) HashSet을 이용해 받아온 리더보드의 중복제거 후 리스트로 변경.
2) 갱신 할 값들을 순차적으로 리스트의 마지막 부터 갱신 할 값보다 큰 값의 번지를 검색.
*기존은 내림차순, 갱신은 오름차순이기 때문에 뒤에서부터 찾는게 더 빠르다.
- 받은 번지에 +2 ( = +1 : 추가 될 위치, +1: 입력포맷.)를 해서 출력.
- 찾은 번지 주소를 받아 놨다가 그 다음 갱신 할 값을 검색시 검색할 시작 위치로 해준다.
- 만약 받아놓은 번지주소가 0보다 작으면 찾을 시작 위치를 0으로 변경.
* 큰 값을 못찾았다는 뜻.
'주간 알고리즘풀기' 카테고리의 다른 글
[171124][Codility](C#)TieRopes (0) | 2017.11.27 |
---|---|
[171123][HackerRank](C#)Minimum Absolute Difference in an Array (0) | 2017.11.27 |
[171121][HackerRank](C#)Mark and Toys (0) | 2017.11.21 |
[171120][Codility](C#)Flags (0) | 2017.11.21 |
[171116][Codility](C#)Missing Integer (0) | 2017.11.20 |