1)Level2-largest number
알고리즘:
[1]각 자리수가 1000이하라는 조건을 가지고 문자열을 늘려서 푸는 방법
[2]functiontools안에 comparator함수를 이용하는 방법
[3]삽입정렬로 구현하면 시간 초과가 난다.
[4]퀵소트는 가능하지만, 이해가 부족..
2)Level2-H-index
알고리즘:
[1]테스트 케이스가 매우 부족하다. 추가해서 먼저 알고리즘의 헛점 체크가 필요하다.
[12, 11, 10, 9, 8, 1] 5
[4, 4, 4] 3
[6, 6, 6, 6, 6, 1] 5
[0,0,0] 0
[2] sort와 이분탐색을 이용
[3] 0 1 3 5 6 의 경우, 최대는 0, 최소는 전체 개수, mid는 2번 인덱스 즉 3
[4] mid보다 크거나 같 은것의 개수를 구해서 h_index의 개수를 구한다.
[5] h_index의 개수가 citations[mid] 이하이면 저장하고, 범위 줄여서, 더 작은것도 확인. 그리고 정답 넣어주기. 아니면, 범위 늘리기.
h_index가 더 크다는 의미는, 더 큰거에서만 정답 가능성이 더 생긴다는 의미!
[6]몽땅 다 0일경우 0 리턴하게 예외처리!
[7]마지막은 정답중 최대값 리턴