ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

Algorithm

[Algorithm] H-Index (์ •๋ ฌ)

_๋ณด๋ฆ„ 2021. 6. 20. 19:28

๐Ÿ–ฅ ๋ฌธ์ œ

H-Index๋Š” ๊ณผํ•™์ž์˜ ์ƒ์‚ฐ์„ฑ๊ณผ ์˜ํ–ฅ๋ ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค. ์–ด๋Š ๊ณผํ•™์ž์˜ H-Index๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์ธ h๋ฅผ ๊ตฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์œ„ํ‚ค๋ฐฑ๊ณผ์— ๋”ฐ๋ฅด๋ฉด, H-Index๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ•ฉ๋‹ˆ๋‹ค.
์–ด๋–ค ๊ณผํ•™์ž๊ฐ€ ๋ฐœํ‘œํ•œ ๋…ผ๋ฌธ nํŽธ ์ค‘, h๋ฒˆ ์ด์ƒ ์ธ์šฉ๋œ ๋…ผ๋ฌธ์ด hํŽธ ์ด์ƒ์ด๊ณ  ๋‚˜๋จธ์ง€ ๋…ผ๋ฌธ์ด h๋ฒˆ ์ดํ•˜ ์ธ์šฉ๋˜์—ˆ๋‹ค๋ฉด h์˜ ์ตœ๋Œ“๊ฐ’์ด ์ด ๊ณผํ•™์ž์˜ H-Index์ž…๋‹ˆ๋‹ค.
์–ด๋–ค ๊ณผํ•™์ž๊ฐ€ ๋ฐœํ‘œํ•œ ๋…ผ๋ฌธ์˜ ์ธ์šฉ ํšŸ์ˆ˜๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด citations๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ด ๊ณผํ•™์ž์˜ H-Index๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

๐Ÿค” ํ’€์ด ๋ฐฉ๋ฒ•

๋ฌธ์ œ์˜ ์„ค๋ช… ๋Œ€๋กœ H-Index๋ฅผ ๋จผ์ € ๊ตฌํ•ด๋ณด์ž.

  • [3, 0, 6, 1, 7] -> 3
    • 3๋ฒˆ ์ด์ƒ ์ธ์šฉ๋œ ๋…ผ๋ฌธ(3, 6, 7)์ด 3ํŽธ ์ด์ƒ์ด๊ณ  ๋‚˜๋จธ์ง€ ๋…ผ๋ฌธ(0, 1)์ด 3ํŽธ ์ดํ•˜ ์ธ์šฉ๋˜์—ˆ๋‹ค.
  • [2] -> 1
    • 2๋ฒˆ ์ด์ƒ ์ธ์šฉ๋œ ๋…ผ๋ฌธ์ด 1ํŽธ ์ด์ƒ์ด๋ผ์„œ 2๋Š” H-Index๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค.
    • 1๋ฒˆ ์ด์ƒ ์ธ์šฉ๋œ ๋…ผ๋ฌธ์ด 1ํŽธ ์ด์ƒ์ด๊ณ  ๋‚˜๋จธ์ง€ ๋…ผ๋ฌธ(0๊ฐœ์˜ ๋…ผ๋ฌธ)์ด 1ํŽธ ์ดํ•˜ ์ด์šฉ๋˜์—ˆ๋‹ค.

H-Index๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ธ์šฉ ํšŸ์ˆ˜๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

  • ์ •๋ ฌ๋œ ์ธ์šฉ ํšŸ์ˆ˜๊ฐ€ [6, 5, 3, 1, 0] ์ผ ๋•Œ 0๋ฒˆ ๋ฐฐ์—ด๋ถ€ํ„ฐ for๋ฌธ์„ ๋Œ๋ฉฐ ํ™•์ธํ•œ๋‹ค.
    • 1๊ฐœ์˜ ๋…ผ๋ฌธ์ด 1๋ฒˆ ์ด์ƒ ์ธ์šฉ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— H-Index๋Š” 1์ด ๋  ์ˆ˜ ์žˆ๋‹ค.
    • 2๊ฐœ์˜ ๋…ผ๋ฌธ์ด 2๋ฒˆ ์ด์ƒ ์ธ์šฉ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— H-Index๋Š” 2๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
    • 3๊ฐœ์˜ ๋…ผ๋ฌธ์ด 3๋ฒˆ ์ด์ƒ ์ธ์šฉ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— H-Index๋Š” 3์ด ๋  ์ˆ˜ ์žˆ๋‹ค.
    • 4๊ฐœ์˜ ๋…ผ๋ฌธ ์ค‘ 1๊ฐœ์˜ ๋…ผ๋ฌธ์ด 4๋ฒˆ ์ด์ƒ ์ธ์šฉ๋˜์ง€ ์•Š์•˜๋‹ค. ๋”ฐ๋ผ์„œ H-Index๋Š” 3์ด ๋œ๋‹ค.
  • [2, 1, 0] ์ผ๋•Œ๋ฅผ ๋ณด์ž.
    • 1๊ฐœ์˜ ๋…ผ๋ฌธ์ด 1๋ฒˆ ์ด์ƒ ์ธ์šฉ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— H-Index๋Š” 1์ด ๋  ์ˆ˜ ์žˆ๋‹ค.
    • 2๊ฐœ์˜ ๋…ผ๋ฌธ ์ค‘ 1๊ฐœ์˜ ๋…ผ๋ฌธ์ด 2๋ฒˆ ์ด์ƒ ์ธ์šฉ๋˜์ง€ ์•Š์•˜๋‹ค. ๋”ฐ๋ผ์„œ H-Index๋Š” 1์ด ๋œ๋‹ค.
  • [2] ์ผ๋•Œ๋ฅผ ๋ณด์ž.
    • 1๊ฐœ์˜ ๋…ผ๋ฌธ์ด 1๋ฒˆ ์ด์ƒ ์ธ์šฉ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— H-Index๋Š” 1์ด ๋  ์ˆ˜ ์žˆ๋‹ค.
    • for๋ฌธ์ด ์ข…๋ฃŒ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— H-Index๊ฐ€ ๋ฆฌํ„ด๋˜์ง€ ์•Š์•˜๋‹ค.
    • ๋”ฐ๋ผ์„œ H-Index๊ฐ€ 1์ด ๋  ์ˆ˜ ์žˆ๊ฒŒ ์ธ์šฉ ํšŸ์ˆ˜๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•ด ์ค€๋‹ค.

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Swift Code

import Foundation

func solution(_ citations:[Int]) -> Int {
    let citations = citations.sorted(by: >)

    for i in 0..<citations.count {
        if i + 1 > citations[i] {
            return i
        }
    }
    return citations.count
}

 

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - H-Index

H-Index๋Š” ๊ณผํ•™์ž์˜ ์ƒ์‚ฐ์„ฑ๊ณผ ์˜ํ–ฅ๋ ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค. ์–ด๋Š ๊ณผํ•™์ž์˜ H-Index๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์ธ h๋ฅผ ๊ตฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์œ„ํ‚ค๋ฐฑ๊ณผ1์— ๋”ฐ๋ฅด๋ฉด, H-Index๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๊ณผํ•™์ž๊ฐ€ ๋ฐœํ‘œ

programmers.co.kr

 

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ