youngik

정렬 (H-index) 본문

programmers

정렬 (H-index)

youngik 2021. 4. 7. 15:22

이 문제도 H-index에 대한 이해가 처음에 부족해서 1번 삽질을 하고 코드를 구성했던 것 같다.

H-index의 H값이 citations에 주어진 값 중에서 1개로 결정되는 줄 알고 처음에 코드를 짰는데

질문하기에서 test케이스 중 {6, 5, 4, 1, 0} 일때 H의 값이 4가 아니라 3이 된다는 것이다.

 

H = 4일때 : 4보다 크거나 같은 값이 3개, 4보다 작거나 같은 값 3개 => 충족 X

H = 3일때 : 3보다 크거나 값은 값 3개, 3보다 작거나 같은 값 2개 => 충족 O

 

먼저 H-index에 대한 부분을 다시 분석을 해보았을 때

 

1. H-index는 배열에 있는 값들 중에서 H보다 크거나 값은 값이 H개 이상, H보다 작은 값이 H보다 작거나 같아야 함

(*간단히 생각해보면 H의 값을 설정하고 upper_count(h보다 크거나 같은 수) >= H 이고

 down_count(h보다 작거나 같은 수) <= H 조건을 만족해야한다.

 

다시 코드를 구성했을 때 test case중 1개를 통과하지 못했는데, 그 이유를 생각해보니 i의 첫번째 값을

citations의 최솟값으로 지정했다. (*citations에서 가장 작은 값이 만족을 못할수도 있음

ex) {2,2,2}일때 upper=3개, down=3개 이므로 만족 X  

 

그래서 i의 시작값을 0부터 시작하니, 말끔하게 통과했다.

나는 주로 코딩 테스트를 해보면서, programmers 사이트에서는 출력값을 빠르게 확인해보기 어려운 것 같아

eclipse로 중간마다 출력값을 확인해보면서 코드를 짠다. (더 나은 방법을 아시는 분은 알려주시길,,ㅠ)

 

*출처 : programmers.co.kr/learn/courses/30/lessons/42747

'programmers' 카테고리의 다른 글

완전탐색 (모의고사)  (0) 2021.04.07
스택/큐 (프린터)  (0) 2021.04.07
스택/큐 (기능개발)  (0) 2021.04.07
스택/큐 (주식가격)  (0) 2021.04.07
스택/큐 (다리를 지나는 트럭)  (0) 2021.04.06
Comments