H-index
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/42747#
๋ฌธ์ ์ค๋ช
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 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ด ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์๋ 5ํธ์ด๊ณ , ๊ทธ์ค 3ํธ์ ๋ ผ๋ฌธ์ 3ํ ์ด์ ์ธ์ฉ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋จธ์ง 2ํธ์ ๋ ผ๋ฌธ์ 3ํ ์ดํ ์ธ์ฉ๋์๊ธฐ ๋๋ฌธ์ ์ด ๊ณผํ์์ H-Index๋ 3์ ๋๋ค.
์ฝ๋
#include <string>
#include <vector>
#include <set>
using namespace std;
int solution(vector<int> citations) {
int answer = 0;
int size = citations.size();
set<int> result;
for(int i=1; i<=10000; i++){ // 10^4
int tmp = 0;
int flag = 0;
for(int j=0; j<size; j++){ // 10^3
if(citations[j]>=i)
tmp++;
if(tmp>=i){
flag =1;
break;
}
}
if(flag==1){
result.insert(i);
}
}
answer = *(result.end()--);
return answer;
}
ํ์ด
์ฐ์ ์ฒ์์๋ ๋จ์ํ๊ฒ ์ฃผ์ด์ง ๋ฐฐ์ด์ ์ ๋ ฌํ์ฌ, ๋ค์์๋ถํฐ ์์๋ค์ ์ฒดํฌํ๋ฉด์ ํด๋น ์์์ ๊ฐ์ด h-index์ ํด๋นํ๋์ง๋ฅผ ๊ฒ์ฌํ๋ ์์ ์๊ณ ๋ฆฌ์ฆ์ ์ง๋ดค๋ค. ํ์ง๋ง ๊ณง ์ ๋ต ๊ฐ์ด ๋ฐฐ์ด ๋ด์ ์ซ์์์๋ง ๋์ค๋ ๊ฒ์ด ์๋๋ผ๋ ๊ฒ์ ๊นจ๋ฌ์๋ค. ์๋ฅผ ๋ค์ด [4,4,4]๋ผ๋ ์ ๋ ฅ๊ฐ์๋ 3์ด๋ผ๋ ์ ๋ต์ด ๋์ฌ ์๊ฐ ์๋ค.
๋ฐ๋ผ์ ๋จ์ํ๊ฒ ์๋ฅผ 1์ฉ ์ฆ๊ฐ์ํค๋ฉด์ ์ฒดํฌํด๋ด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๊ณ , ์ ๋ ฅ ๋ฒ์๊ฐ ํฌ์ง ์์์ ๊ฐ๋ฅํ ๊ฒ์ด๋ผ๊ณ ํ๋จํ๊ณ ์๊ณ ๋ฆฌ์ฆ์ ์ง๋ดฃ๋ค.
- 1๋ถํฐ 1์ฉ ์ฆ๊ฐ์ํค๋ฉด์ ์๋ฅผ ๋ฐ์ง๋ค.
- ํด๋น ์๋ณด๋ค ํฐ ์๊ฐ ๋ฐฐ์ด์ ํด๋น ์๋งํผ ์๋ค๋ฉด h-index๊ฐ ๋ ์ ์๋ ํ๋ณด์ด๋ค.
- ๋ฐ๋ผ์ ๋ฐฐ์ด์ ํ์ผ๋ฉด์ ๋์ ๊ด๊ณ๋ฅผ ๋ฐ์ง๋ค.
- ํ๋ณด๊ฐ ๋๋ ์๋ค์ ๋ชจ๋ set์ ๋ฃ์ด์ ๋ง์ง๋ง์ ๊ฐ์ฅ ํฐ ์๋ฅผ ์ ๋ต์ผ๋ก ๋๋ค.
์ฑ์ ๊ฒฐ๊ณผ
๋ค๋ฅธ ์ฌ๋์ ํ์ด
์ด์ง ํ์์ผ๋ก ํผ ์ฌ๋๋ ์์๋ค. ์ฃผ์ด์ง ์ ๋ ฅ์ ๋ฒ์๊ฐ 0์์ 10,000๊น์ง์ด๋, ์ด๋ฅผ ์ด์งํ์ํด์ ํผ ๋ฐฉ์์ด๋ค. ์ด์ง ํ์์ ์๊ฐํ์ผ๋ฉด์ ์ ์ด ํ์ด๋ก ํฅํ์ง ๋ชปํ๋์ง... ํ .. ๋ค์ ๋ฒ์๋ ๋ ์๊ฐํด์ ์๊ณ ๋ฆฌ์ฆ์ ์ง๋ด์ผ๊ฒ ๋ค. ์๊ฐ๋ณต์ก๋๋ฅผ 10^7 ์์ 10^4 ์ ๋๋ก ์ค์ผ ์ ์๋ค.
Comment