๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/42747
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ํค๋ฐฑ๊ณผ์ ๋ฐ๋ฅด๋ฉด, 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 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ์ด ๊ณผํ์๊ฐ ๋ฐํํ ๋
ผ๋ฌธ์ ์๋ 5ํธ์ด๊ณ , ๊ทธ์ค 3ํธ์ ๋
ผ๋ฌธ์ 3ํ ์ด์ ์ธ์ฉ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋๋จธ์ง 2ํธ์ ๋ ผ๋ฌธ์ 3ํ ์ดํ ์ธ์ฉ๋์๊ธฐ ๋๋ฌธ์ ์ด ๊ณผํ์์ H-Index๋ 3์ ๋๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋
import java.util.*;
class Solution {
public int solution(int[] citations) {
int answer = 0;
// ๋ณ์ length์ citations์ ๊ธธ์ด๋ฅผ ์ ์ฅ
int length = citations.length;
// citations ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
Arrays.sort(citations);
// ๋ฐ๋ณต๋ฌธ์ ํ์ฉํ์ฌ citations์ ๊ฐ๊ณผ i ๋น๊ต
for (int i = 0; i < length; i++) {
// ๋ง์ฝ citations์ ๊ฐ์ด length - i์ ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ
if (citations[i] >= length - i) {
// answer์ length - i ๊ฐ ์ ์ฅ
answer = length - i;
// ๋ฐ๋ณต๋ฌธ ์ข
๋ฃ
break;
}
}
// answer ๋ฐํ
return answer;
}
}
๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์๊ฐํ ๋ฐฉํฅ
- ์ฌ์ค H-index์ ๋ํด ์ดํด๊ฐ ์ ๋์ง ์์์ ํ์ด๋ฅผ ๋ณด๋ฉด์ H-index๊ฐ ๋ญ์ง์ ๋ํด ์ดํดํ ์ ์์๋ ๊ฒ ๊ฐ๋ค..
- ๊ทธ ํ์๋ ์ ๋ ฌ์ ๋จผ์ ์คํํ๊ณ ๊ทธ ๋ค์ ๋ฐ๋ณต๋ฌธ์ ํ์ฉํ์ฌ ์ธ์ฉํ ํ์์ index๋ฅผ ๋น๊ตํ๋ฉด์ H-index๋ฅผ ์ฒดํฌํ ์ ์์๋ค.
References
https://bada744.tistory.com/94
[ํ๋ก๊ทธ๋๋จธ์ค / Level2] H-Index (Java)
๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/42747 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - H-Index H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค.
bada744.tistory.com
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ต ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ํฐ์ผ๋ชฌ (3) | 2025.04.04 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์์ฃผํ์ง ๋ชปํ ์ ์ (2) | 2025.04.03 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๊ฐ์ฅ ํฐ ์ (0) | 2025.04.01 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๊ธฐ๋ฅ๊ฐ๋ฐ (1) | 2025.03.29 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ์์ฐ (1) | 2025.03.28 |