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

๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ์„ค๋ช…

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ํšŒ ์ดํ•˜์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

citationsreturn

[3, 0, 6, 1, 5] 3

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ด ๊ณผํ•™์ž๊ฐ€ ๋ฐœํ‘œํ•œ ๋…ผ๋ฌธ์˜ ์ˆ˜๋Š” 5ํŽธ์ด๊ณ , ๊ทธ์ค‘ 3ํŽธ์˜ ๋…ผ๋ฌธ์€ 3ํšŒ ์ด์ƒ ์ธ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋จธ์ง€ 2ํŽธ์˜ ๋…ผ๋ฌธ์€ 3ํšŒ ์ดํ•˜ ์ธ์šฉ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ณผํ•™์ž์˜ H-Index๋Š” 3์ž…๋‹ˆ๋‹ค.

 

 

๋‚˜์˜ ํ’€์ด

def solution(citations):
    totalCount = len(citations)
    maxNum = max(citations)
    index = []
    
    for i in range(maxNum):
        tempUp = []
        tempDown = []
        print("i+1์˜ ๊ฐ’ : {}".format(i+1))
        for quote in citations:
            print("quote : {}".format(quote))
            if quote >= i+1:
                tempUp.append(quote)
            elif quote <= i+1:
                tempDown.append(quote)
            
        print("tempUp : {}".format(tempUp))
        print("tempDown : {}".format(tempDown))
        
        if i + 1 == len(tempUp) and (totalCount-i-1) == len(tempDown):
            index.append(i+1)
    
    return max(index)

๋‚˜๋Š” ์ธ์šฉํšŸ์ˆ˜ (i)๋ฅผ ๊ธฐ์ค€์œผ๋กœ i+1์ด์ƒ์ธ ๋…ผ๋ฌธ, i+1์ดํ•˜์ธ ๋…ผ๋ฌธ์„ ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ๋กœ ๋”ฐ๋กœ ๋‹ด์•„์„œ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์ด ๋งŒ์กฑํ•˜๋ฉด ๊ทธ i๋ฅผ ๋˜๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ์— ๋‹ด์•„ ๊ทธ ์ค‘์— ์ œ์ผ ํฐ ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ๋ฐฉ์‹์„ ์ƒ๊ฐํ–ˆ๋‹ค.

 

[5,5,5,5] ์™€๊ฐ™์€ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์žˆ์„๋•Œ๋Š” ๋ญ˜ ๋ฆฌํ„ดํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋ฌธ์ œ์—๋„ ์„ค๋ช…์ด ์•ˆ๋˜์–ด์žˆ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ํ•˜๋ผ๋Š”๊ฑฐ์ง€ ์ฆ๋ง ์–ด์ดใ„ฑใ… ์—†๋„ค์—์—์—ฅใ…‡์ด์ด์ด์ด์ž‰!!!

 

 

 

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

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

citations = [3, 0, 6, 1, 5]

solution(citations)

๋ฌด์Šจ ์›๋ฆฌ์ธ๊ฑฐ์ง€ ๋‘˜์ค‘์— ์ตœ์†Œ๊ฐ’์„ ์™œ ๊ตฌํ•˜๋Š”๊ฑฐ์•ผ? 

๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€