https://www.acmicpc.net/problem/1946
바킹독님의 풀이를 참고하여 해결하였습니다.(https://blog.encrypted.gg/120)
등수가 중복되지 않고 1~N으로 분포해있습니다. 때문에 따로 정렬을 하지 않아도 유일한 값입니다.
grade[i]라는 변수에 서류심사 성적순으로 인원들을 넣어놓습니다.
grade[i]를 앞에서 순회하면 서류 심사 성적이 높은 인원부터 탐색하는 것입니다.
grade를 앞에서부터 돌면서 지금까지 나온 가장 높은 면접 성적 등수(minInterviewRank)를 저장합니다.
그리고 그 값과 i 번째 사원의 면접 성적 등수를 비교합니다.
1. i번째 사원의 면접 성적 등수가 더 좋으면 i번째 사원은 신입 사원에 넣을 수 있습니다. (cnt++)
2. minInterviewRank를 i번째 사원의 면접 성적 등수로 갱신해줍니다.
위 1,2번에 해당하지 않는다면 그 사원보다 면접 성적 점수도 좋고 서류심사 성적도 좋은 사람이 있다는 소리입니다.
코드: https://github.com/cottory/algorithm/blob/master/BOJ/BOJ1946.cc
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]5427번: 불 (0) | 2020.08.22 |
---|---|
[BOJ]2644번: 촌수계산 (0) | 2020.08.22 |
[BOJ]7576번: 토마토 (0) | 2020.08.22 |
[BOJ]10473번: 인간 대포 (0) | 2020.08.22 |
[BOJ]2206번: 벽 부수고 이동하기 (0) | 2020.08.18 |