250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Data Science LAB

[Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต level2 (H-index) ๋ณธ๋ฌธ

๐Ÿ“ Coding Test/Programmers

[Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต level2 (H-index)

ใ…… ใ…œ ใ…” ใ…‡ 2022. 11. 27. 16:49
728x90

1. ๋ฌธ์ œ ์„ค๋ช…

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

์–ด๋–ค ๊ณผํ•™์ž๊ฐ€ ๋ฐœํ‘œํ•œ ๋…ผ๋ฌธ nํŽธ ์ค‘, h๋ฒˆ ์ด์ƒ ์ธ์šฉ๋œ ๋…ผ๋ฌธ์ด hํŽธ ์ด์ƒ์ด๊ณ  ๋‚˜๋จธ์ง€ ๋…ผ๋ฌธ์ด h๋ฒˆ ์ดํ•˜ ์ธ์šฉ๋˜์—ˆ๋‹ค๋ฉด h์˜ ์ตœ๋Œ“๊ฐ’์ด ์ด ๊ณผํ•™์ž์˜ H-Index์ž…๋‹ˆ๋‹ค.

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

 

 

 

 

2. ์ œํ•œ ์‚ฌํ•ญ

  • ๊ณผํ•™์ž๊ฐ€ ๋ฐœํ‘œํ•œ ๋…ผ๋ฌธ์˜ ์ˆ˜๋Š” 1ํŽธ ์ด์ƒ 1,000ํŽธ ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • ๋…ผ๋ฌธ๋ณ„ ์ธ์šฉ ํšŸ์ˆ˜๋Š” 0ํšŒ ์ด์ƒ 10,000ํšŒ ์ดํ•˜์ž…๋‹ˆ๋‹ค.

 

 

 

 

 

 

3. ๋‚ด ํ’€์ด

def solution(citations):
    for i in range(len(citations),-1, -1):
        new = len(list(filter(lambda x: x >=i, citations)))
        if new >= i and len(citations) - new <= i:
            return i

 

1. citations ๋ฆฌ์ŠคํŠธ๋‚ด์˜ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ๋ถ€ํ„ฐ 0๊นŒ์ง€ ๋ฐ˜๋ณต (-1 ์‚ฌ์šฉํ•ด์„œ reverse)

2. ๋ฆฌ์ŠคํŠธ ๋‚ด์˜ ์š”์†Œ ์ค‘ i๋ณด๋‹ค ํฐ ์š”์†Œ๋งŒ ๋ฐ˜ํ™˜ํ•œ ๋’ค ์ด ๊ฐœ์ˆ˜ ์„ธ๊ธฐ

3. ๋ฐ˜ํ™˜๋œ ์ด ๊ฐœ์ˆ˜๊ฐ€ i ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ  ๋ฐ˜ํ™˜๋˜์ง€ ์•Š์€ ์š”์†Œ์˜ ๊ฐœ์ˆ˜๊ฐ€ i๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด i ๋ฐ˜ํ™˜

 

range๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฆด๋•Œ (len(citations), 0, -1)๋กœ ์„ค์ •ํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ๋ฐ˜๋ณต์—์„œ i๊ฐ€ 1์ด๋˜๋ฏ€๋กœ 0์„ ๊ณ ๋ คํ•˜์ง€ ๋ชปํ•จ (์ฃผ์˜)

 

 

 

 

4. ๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

def solution(citations):
    citations.sort(reverse=True)
    answer = max(map(min, enumerate(citations, start=1)))
    return answer

 

1. citations ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ (์—ญ์ˆœ์œผ๋กœ)

2. enumerate() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด citations ๋ฆฌ์ŠคํŠธ ๋‚ด์— ์ž๊ธฐ ์ž์‹ ๋ณด๋‹ค ํฐ ์ˆ˜๊ฐ€ ๋ช‡๊ฐœ ์กด์žฌํ•˜๋Š” ์ง€ countํ•˜์—ฌ ๊ฐ€์žฅ ํฐ ์ˆ˜ ๋ฐ˜ํ™˜

 

 

 

728x90
Comments