1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ
- ์
๋ ฅ: ์ด๋ค ๊ณผํ์์ ๋
ผ๋ฌธ nํธ์ ์ธ์ฉ๋ ํ์๋ฅผ ๋ด์ ๋ฆฌ์คํธ [3, 0, 6, 1, 5]
- ์ถ๋ ฅ: h๋ฒ์ด์ ์ธ์ฉ๋ ๋
ผ๋ฌธ์ด hํธ์ด์ ์ธ์ฉ๋ ๊ฒฝ์ฐ ์ค์ h์ ์ต๋๊ฐ ์ฐพ๊ธฐ 3
2. ์ฝ๋
def solution(citations):
answer = 0
citations.sort()
for i in range(1,len(citations)+1): #hํ๋ณด: 1 ~ 5 ๊ฐ๊ฐ h-index๊ฐ ๋๋์งํ์ธ
min_num = citations[-i]
if min_num >= i: #i๋ฒ์งธ ๋
ผ๋ฌธ์ ์ธ์ฉ์๊ฐ i๋ณด๋ค ํฌ๋ฉด i๋ฒ์งธ ~ len(citationtion)๋ฒ์งธ ๊น์ง๋ ๋ชจ๋ hindex ๋ง์กฑ
answer = i #๊ณ์ ๋ ํฐ ๊ฐ์ผ๋ก ์
๋ฐ์ดํธ ๋จ
return answer
# [0,1,3,5,6] -> ๊ฐฏ์์ ํด๋น
# [1,2,3,4,5] -> hํ๋ณด ์ธ๋ฑ์ค
3. ํ๊ณ
- ๋ฌธ์ ์ดํด๊ฐ ์ด๋ ค์ ๋ค.
- ์ผ๋จ ์ฃผ์ด์ง ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ํ๋ค. [0,1,3,5,6]
- ๋จผ์ hํ๋ณด๋ฅผ ๋ง๋ค๊ณ , h-index๊ฐ ๋๊ธฐ ์ํ ์กฐ๊ฑด์ ๋ง์กฑํ๋์ง ์ฐพ์์ผํ๋ค.
- h์ ํ๋ณด๋ค์ 1 ~ len(citations) ์ด๊ธฐ ๋๋ฌธ์ ์ด๊ฑธ๋ก for๋ฌธ์ ๋๋ฆฐ๋ค. [1,2,3,4,5]
- h-index๊ฐ ๋๊ธฐ ์ํ ์กฐ๊ฑด์ h๋ฒ์ด์ ์ธ์ฉ๋ ๋
ผ๋ฌธ์ด hํธ ์ด์์ด์ด์ผํ๋ค๋ ๊ฒ์ด๋ค.
- citations[-i] : ๋ง์ฝ citations[-1] ์ด๋ฉด 6์ด๊ณ ์ด ๊ฐ์ i๊ฐ(1)๋ณด๋ค ํฌ๋ค. 1์ด์์ ์ธ์ฉํ์์ธ ๋
ผ๋ฌธ์ด ํ ๊ฐ์ด์์ธ๊ฒ ํ์ธ๋๋ค. ๊ทธ๋์ ์ ๋ต์ ํ๋ณด๊ฐ ๋๋ค.
- ๋ง์ฝ citations[-2] ๋ 5์ด๊ณ , ์ด๋ i๊ฐ์ธ 2๋ณด๋ค ํฌ๋ค. ์ธ์ฉํ์๊ฐ 2์ด์์ธ๊ฒ ๋ ํธ์ธ๊ฒ ํ์ธ๋๋ค.
- citations[-3] ์ 3์ด๊ณ , ์ด๋ i๊ฐ์ธ 3๊ณผ ๊ฐ๋ค. ์ธ์ฉํ์๊ฐ 3์ด์์ธ ๋
ผ๋ฌธ์ด ์ธ ํธ์ธ๊ฒ ํ์ธ๋๋ค.
- citations[-4] ๋ 1์ด๊ณ , ์ด๋ i๊ฐ์ธ 4๋ณด๋ค ์๊ธฐ ๋๋ฌธ์ h-index์ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์๋๋ค.
- ํฌ์ธํธ๋ citations[-i]์์ i๊ฐ ์ฆ๊ฐํ๋ฉด์ ์๋์ผ๋ก count์ญํ ์ ํ๋ ๊ฒ์ด๋ค. ์ฌ์ ์ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ ๋ ฌํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ๋ค.
- ํด์ค์ ๋ณด๊ณ ๊ฒจ์ฐ ์ดํดํ๊ธด ํ๋๋ฐ, ์ด ๋ฌธ์ ๋ ๋ค์ ๋ฒ์ ๋ค์ ํ์ด๋ด์ผ๊ฒ ๋ค.
4. References
https://www.youtube.com/watch?v=wW7UTbulKHA