프로그래머스 정렬(Array) 3번째 문제
H-Index
과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고
나머지 논문이 h번 이하 인용되었다면 h가 이 과학자의 H-Index
package programmkit;
import java.util.Arrays;
/* H-Index
* 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고
* 나머지 논문이 h번 이하 인용되었다면 h가 이 과학자의 H-Index이다.
* */
public class Array_3 {
public static void main(String[] args) {
int citations[] = {3, 0, 6, 1, 5};
int answer = solution(citations);
System.out.println(answer);
}
private static int solution(int[] citations) {
Arrays.sort(citations);
int size = citations.length;
int answer = 0;
for(int x=0; x<size; x++) {
if(citations[x]>=size-x) {
answer = size-x;
break;
}
}
return answer;
}
}
1. Arrays.sort로 정렬해주고
2. for문 돌려서 h번 이상 인용된 논문이 h편 이상인거 찾음
3. 답 찾으면 break써서 for문 그만 돌리고
4. return answer;
P.S
정렬 마지막 문제인데
너무 쉽게 풀려서 당황쓰
문제를 잘 파악해서 규칙찾고
break을 써서 효율성 높혀주는 정도..?
[출처] 빡쏘끼룩
'IT > JAVA' 카테고리의 다른 글
[프로그래머스] 정렬(Array)_2_가장 큰 수 (0) | 2020.12.17 |
---|---|
[프로그래머스] 정렬(Array)_1_K번째 수 (0) | 2020.12.16 |
[Java] JDBC 연결 순서 완벽정리 (0) | 2020.12.15 |
[Java] Thread (0) | 2020.12.14 |
[Java] I/O 3(입출력) (java.io) - NotePad 만들기 (0) | 2020.11.13 |