/ CODINGTEST

프로그래머스 코딩테스트 연습 H Index(정렬)

오늘은 정렬문제의 마지막 H Index 문제에 대하여 풀어보았다. 솔직히 처음 문제가 이해가 되었다 안 되었다를 반복하며 혼란을 주었고, 풀이와 설명을 들었을 때에도 긴가민가하게 되었고, 코드를 짜면서 이해가 되었다.

정답 코드이며, 문제는 h를 처음 배열의 길이만큼 주고(h는 배열의 길이를 넘어갈 수 없다.) 배열을 정렬한다. 그럼 for문안에서 h를 계속 감소시켜 문제를 풀었다.
같이 공부하는 친구에게 설명을 듣고, h가 감소할 때 결국 그 값 보다 큰 값들이 h보다 같거나 많은 경우에 정답이 될 수 있었고, h가 밑에서 부터 올라온다면, 처음 수가 작을 경우 그 값을 리턴할 경우가 있기 때문에(이경우엔 h보다 작거나 같은 것을 구하면 될 것) 감소시켰다. 결국 감소되며 if문을 검사 받을 때 크거나 같다면 h-1번째 이후는 모드 그 값보다 크기 때문에 답이 될 수 있다.