H-Index (with.Java)
H-Index (with.Java) ๋ฌธ์ ์ ๋ํ์ฌ ์์๋ณธ ๊ธ์ ๋๋ค.
์ฝ๋ฉ ํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๋ฉฐ, ํ์๋ ๋ฌธ์ ์ ๋ํ ํ๊ณ ๋ฅผ ํด๋ณด๊ณ ์ ํฉ๋๋ค.
๋ฌธ์ ์ ๋ํด ๋จผ์ ์์๋ณด๊ฒ ์ต๋๋ค.
๋ฌธ์
H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์ ๋๋ค.
์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค.
์ํค๋ฐฑ๊ณผ1์ ๋ฐ๋ฅด๋ฉด, H-Index๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํฉ๋๋ค.
์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ nํธ ์ค, h๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด hํธ ์ด์์ด๊ณ ๋๋จธ์ง ๋ ผ๋ฌธ์ด h๋ฒ ์ดํ ์ธ์ฉ๋์๋ค๋ฉด h์ ์ต๋๊ฐ์ด ์ด ๊ณผํ์์ H-Index์ ๋๋ค.
์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์ธ์ฉ ํ์๋ฅผ ๋ด์ ๋ฐฐ์ด citations๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๊ณผํ์์ H-Index๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์๋ 1ํธ ์ด์ 1,000ํธ ์ดํ์ ๋๋ค.
- ๋ ผ๋ฌธ๋ณ ์ธ์ฉ ํ์๋ 0ํ ์ด์ 10,000ํ ์ดํ์ ๋๋ค.
์ ์ถ๋ ฅ ์์
citations | return |
---|---|
[3, 0, 6, 1, 5] | 3 |
๋ฌธ์ ์ ๋ํ ๋์ ํ์ด
import java.util.Arrays;
class Solution {
public int solution(int[] citations) {
int answer = 0;
Arrays.sort(citations);
for(int i = 0; i < citations.length; i++){
int temp = Math.min(citations[i], citations.length - i);
if(temp >= answer){
answer = temp;
}else{
break;
}
}
return answer;
}
}
ํ์ด ์ค๋ช
- solution ๋ฉ์๋๋ ์ ์ ๋ฐฐ์ด citations๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ต๋๋ค.
- ์ฐ์ citations ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํฉ๋๋ค. ์ด๋ H-Index๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด ๋ฐฐ์ด์ ์ ๋ ฌํ๋ ์ผ๋ฐ์ ์ธ ์ ๊ทผ ๋ฐฉ๋ฒ์ ๋๋ค.
- ๊ทธ๋ฐ ๋ค์ for ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์ํํฉ๋๋ค.
- ๊ฐ ์ธ์ฉ ํ์ citations[i]์ ๋จ์ ๋ ผ๋ฌธ ์์ธ citations.length - i ์ค ์์ ๊ฐ์ ์ ํํฉ๋๋ค. ์ด ๊ฐ์ด ํ์ฌ์ H-Index ํ๋ณด๊ฐ ๋ฉ๋๋ค.
- ํ์ฌ H-Index ํ๋ณด๊ฐ ์ด์ ์ H-Index ํ๋ณด๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค๋ฉด answer๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
- ์ดํ์ ๊ฐ๋ค์ ๋ ์์์ง๋ฏ๋ก, ๋ ์ด์ H-Index๊ฐ ์ฆ๊ฐํ์ง ์๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ฐ๋ผ์ break๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํฉ๋๋ค.
- ์ต์ข ์ ์ผ๋ก answer๋ฅผ ๋ฐํํฉ๋๋ค.
๊ฒฐ๋ก
์ด ์ฝ๋๋ ๋ ผ๋ฌธ ์ธ์ฉ ํ์ ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ H-Index๋ฅผ ๊ณ์ฐํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ, ๋ฐฐ์ด์ ์ ๋ ฌํ ํ์ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ฌ H-Index ํ๋ณด๋ฅผ ์ฐพ๊ณ ์ด๋ฅผ ๊ฒ์ฆํ๋ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.