๋ฌธ์ ํ์ด
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, 2, 3, 5, 6, 7, 10, 11] | 5 |
[1, 11, 111, 1111] | 3 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ด ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์๋ 5ํธ์ด๊ณ , ๊ทธ์ค 3ํธ์ ๋ ผ๋ฌธ์ 3ํ ์ด์ ์ธ์ฉ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋จธ์ง 2ํธ์ ๋ ผ๋ฌธ์ 3ํ ์ดํ ์ธ์ฉ๋์๊ธฐ ๋๋ฌธ์ ์ด ๊ณผํ์์ H-Index๋ 3์ ๋๋ค.
๋ฌธ์ ํ์ด
์ด ๋ฌธ์ ๋ฅผ ํ ์ค๋ก ์ ๋ฆฌํ๋ฉด,
ํ ๊ณผํ์์ ๋ ผ๋ฌธ ์ค์์, ์ ์ด๋ ๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด hํธ ์ด์์ธ ๊ฒฝ์ฐ์ ์ต๋๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ๋ค.
- ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ ์ค์์ ๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด ํธ ์ด์์ด๊ณ ,
- ๋๋จธ์ง ๋ ผ๋ฌธ๋ค์ด ๋ฒ ์ดํ๋ก ์ธ์ฉ๋์๋ค๋ฉด, h๊ฐ ์ด ๊ณผํ์์ H-Index์ ๋๋ค.
์์ , [6, 5, 3, 1, 0] ๋ฅผ ๋ณด๋ฉด,
- ์ฒซ ๋ฒ์งธ ๋ ผ๋ฌธ์ 6๋ฒ ์ธ์ฉ๋จ: 1 <= 6 → ์ฐธ
- ๋ ๋ฒ์งธ ๋ ผ๋ฌธ์ 5๋ฒ ์ธ์ฉ๋จ: 2 <= 5 → ์ฐธ
- ์ธ ๋ฒ์งธ ๋ ผ๋ฌธ์ 3๋ฒ ์ธ์ฉ๋จ: 3 <= 3 → ์ฐธ
- ๋ค ๋ฒ์งธ ๋ ผ๋ฌธ์ 1๋ฒ ์ธ์ฉ๋จ: 4 <= 1 → ๊ฑฐ์ง
- ๋ค์ฏ ๋ฒ์งธ ๋ ผ๋ฌธ์ 0๋ฒ ์ธ์ฉ๋จ: 5 <= 0 → ๊ฑฐ์ง
๋ค ๋ฒ์งธ ๋ ผ๋ฌธ์ด 1๋ฒ ์ธ์ฉ๋์๊ณ , ๊ฐ์ 4๋ก ๊ฐ์ ํ์ ๋, ์ ์กฐ๊ฑด์ ๊ฐ์ ๋์ ํ์ฌ ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค.
- ๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด ํธ ์ด์ ์์ด์ผ ํฉ๋๋ค.
๋ค ๋ฒ์งธ ๋ ผ๋ฌธ์ด 1๋ฒ ์ธ์ฉ๋์๊ธฐ ๋๋ฌธ์, ์ด ๋ ผ๋ฌธ์ด ๋ฒ ์ด์ ์ธ์ฉ๋๋ ค๋ฉด h ์ด์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ h๋ฅผ 4๋ก ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์ต๋๋ค.
def solution(citations):
answer = 0
# 1. ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
cit = sorted(citations, reverse = True)
# 2. ์ธ๋ฑ์ค์ ์ธ์ฉ ํ์๋ฅผ ์์ฐจ์ ์ผ๋ก ํ์ธ
for num, citations in enumerate(cit):
# 3. ์ธ์ฉ ํ์๊ฐ ์ธ๋ฑ์ค๋ณด๋ค ํฌ๋ค๋ฉด
# ์ฝ๋์ ์ธ๋ฑ์ค๊ฐ 0๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ +1์ ํด์ค
if num+1 <= citations:
# 4. H-Index ๊ฐฑ์
answer = num+1
return answer
'๐ Development > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ํํฐ์ด Softeer] ๋ฐ์ด๋ฌ์ค (Lv.2) - ํ์ด์ฌ(Python) (0) | 2024.06.24 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฃผ์ ๊ฐ๊ฒฉ(Lv.2) - ํ์ด์ฌ(Python) (0) | 2024.06.19 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ฃผํ์ง ๋ชปํ ์ ์ (Lv.1) - ํ์ด์ฌ(Python) (0) | 2024.06.19 |
[๋ฐฑ์ค] 2559๋ฒ ์์ด - ํ์ด์ฌ Python ํ์ด (0) | 2023.06.02 |
[Softeer] ๊ธ๊ณ ํธ์ด ํ์ด์ฌ (0) | 2023.05.26 |