๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] H-Index (Python)

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