๋ฌธ์ ์ค๋ช
H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ํค๋ฐฑ๊ณผ์ ๋ฐ๋ฅด๋ฉด, H-Index๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํฉ๋๋ค.
์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ nํธ ์ค, h๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด hํธ ์ด์์ด๊ณ ๋๋จธ์ง ๋ ผ๋ฌธ์ด h๋ฒ ์ดํ ์ธ์ฉ๋์๋ค๋ฉด h์ ์ต๋๊ฐ์ด ์ด ๊ณผํ์์ H-Index์ ๋๋ค.
์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์ธ์ฉ ํ์๋ฅผ ๋ด์ ๋ฐฐ์ด citations๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๊ณผํ์์ H-Index๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๋ฌธ์ ์ฃผ์: https://programmers.co.kr/learn/courses/30/lessons/42747
๋ฌธ์ ํ์ด
์ํค๋ฐฑ๊ณผ์ ๋์ค๋ H-index์ ๊ณ์ฐ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
๋ ผ๋ฌธ์ ์ธ์ฉ ํ์๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ ๋, (index + 1) <= citations[i]์ ๋ง์กฑํ๋ ์ต๋ index + 1์ด H-index์ด๋ค. ์ด๋ index + 1์ citations[i]๋ฒ ์ด์ ์ธ์ฉํ ๋ ผ๋ฌธ์ ๊ฐ์๋ฅผ ์๋ฏธํ๋ค.
์์๋ฅผ ๋ค์ด ์ค๋ช ํ์๋ฉด
citations = [3, 0, 6, 1, 5]์ผ ๊ฒฝ์ฐ, ์ด๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ฉด [6, 5, 3, 1, 0]์ด๋ค.
-
6๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ ์: 1๊ฐ // 1 <= 6
-
5๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ ์: 2๊ฐ // 2 <= 5
-
4๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ ์: 3๊ฐ // 3 <= 4
-
3๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ ์: 4๊ฐ // 4 > 3 ์ด๋ฏ๋ก ์์ ์กฐ๊ฑด ๋ถ๋ง์กฑ
์ด ์์์์ (index + 1) <= citations[i]๋ฅผ ๋ง์กฑํ๋ (index + 1)์ [1, 2, 3]์ด๊ณ , ์ด ์ค ์ต๋๊ฐ์ธ 3์ด H-index๊ฐ ๋๋ค.
์์2) citations = [100, 50, 10]์ผ ๊ฒฝ์ฐ
-
100๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ ์: 1๊ฐ
-
50๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ ์: 2๊ฐ
-
10๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ ์: 3๊ฐ
์ด ์์์์ (index + 1) <= citations[i]๋ฅผ ๋ง์กฑํ๋ (index + 1)์ [1, 2, 3]์ด๊ณ , ์ด ์ค ์ต๋๊ฐ์ธ3์ด H-index๊ฐ ๋๋ค.
์์ค ์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> citations) {
int answer = 0;
sort(citations.begin(), citations.end(), greater<int>()); // citations๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
for (int i = 0; i < citations.size(); i++) {
if (i + 1 <= citations[i]) // (i + 1)์ citations[i]๋ฒ ์ด์ ์ธ์ฉ๋ ๋
ผ๋ฌธ์ ์
answer = i + 1;
else
break;
}
return answer;
}
|
cs |
'Algorithm > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ๋ผ๋ฉด๊ณต์ฅ ํ์ด (0) | 2020.07.24 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ๋ ๋งต๊ฒ ํ์ด (0) | 2020.07.24 |
[C++] ํ๋ก๊ทธ๋๋จธ์ค - "๋ชจ์๊ณ ์ฌ" ํ์ด (0) | 2020.07.03 |
[C++] ํ๋ก๊ทธ๋๋จธ์ค - "๊ฐ์ฅ ํฐ ์" ํ์ด (0) | 2020.06.03 |
[C++] ํ๋ก๊ทธ๋๋จธ์ค - "K๋ฒ์งธ ์" ํ์ด (0) | 2020.06.02 |