๋ฌธ์ ์ค๋ช
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ํ ์ดํ์ ๋๋ค.
์ ์ถ๋ ฅ ์
citation | return |
[3, 0, 6, 1, 5] | 3 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ด ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์๋ 5ํธ์ด๊ณ , ๊ทธ์ค 3ํธ์ ๋ ผ๋ฌธ์ 3ํ ์ด์ ์ธ์ฉ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋จธ์ง 2ํธ์ ๋ ผ๋ฌธ์ 3ํ ์ดํ ์ธ์ฉ๋์๊ธฐ ๋๋ฌธ์ ์ด ๊ณผํ์์ H-Index๋ 3์ ๋๋ค.
ํ์ด ์ฝ๋
def solution(citations):
answer = 0
citations.sort()
whole = len(citations)
for h in range(citations[-1] + 1):
cnt = 0
for cite in citations:
if cite < h:
cnt += 1
else:
break
if whole - cnt >= h and cnt <= h:
answer = h
else:
break
return answer
์ ๋ ฌ ํ ๋ฌธ์ ์ ๋ง๊ฒ ๊ตฌํํ๋ฉด ํ๋ฆฌ๋ ๋ฌธ์ ์ด๋ค.
๋ฌธ์ ํ์ด์ ์ค์ํ ์ ์, h๊ฐ์ citations ๋ฐฐ์ด ๋ด์ ๋ค์ด์์ง ์์ ์๋ ์๋ค๋ผ๋ ์ ์ด๋ค.
๋ฐ๋ผ์ H-Index๊ฐ ๋ ์ ์๋ ํ๋ณด๋ ์ ๋ ฌํ ํ์ 0~citations[-1]์ด๋ฏ๋ก, ์ด ๋ฒ์ ๋ด์์ ๋ฌธ์ ์ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๊ตฌํํ๋ฉด ๋๋ค.
์ด ์ ์ ๊นจ๋ซ๊ณ ๋๋ฉด ๋ฌธ์ ๋ฅผ ํ์ดํ๋๋ฐ ํฌ๊ฒ ์ด๋ ค์ด ์ ์ ์์ง๋ง, ์์นซ citations ๋ด์ ์๋ค๊ณ ํ๋จํ๊ธฐ ์ฝ๋ค.
'๐ ์ฝ๋ฉํ ์คํธ ๋๋น : PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ด์ค์ฐ์ ์์ํ (level3, python) (0) | 2022.09.09 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ์ ์ผ๊ฐํ (level3, python) (0) | 2022.09.09 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๋ ฌ์ ๊ณฑ์ (level2, python) (0) | 2022.09.09 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ํ์ ์๊ฐ์ด๋ (level2, python) (0) | 2022.09.09 |
[ํ๋ก๊ทธ๋๋จธ์ค] [1์ฐจ]์บ์ (level2, python) (0) | 2022.09.09 |