๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Problem_Solving/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ณ ๋“์  kit - ์ •๋ ฌ (Python/ํŒŒ์ด์ฌ)

by ํฌ์ŠคํŠธ์‰์ดํฌ 2023. 2. 5.

<๋ฌธ์ œ ๋งํฌ>

https://school.programmers.co.kr/learn/courses/30/parts/12198

 

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

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

<ํ’€์ด ์ „๋žต>

1. K๋ฒˆ์งธ ์ˆ˜: ๋ฌธ์ œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ทธ๋Œ€๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜๋Š” ์‰ฌ์šด ๋ฌธ์ œ

 

2. ๊ฐ€์žฅ ํฐ ์ˆ˜: ๋žŒ๋‹ค๋ฅผ ์ด์šฉํ•œ ์ •๋ ฌ ํ™œ์šฉ ๋ฌธ์ œ. number์˜ ๋ฒ”์œ„๊ฐ€ 1000์ดํ•˜ ์ด๋ฏ€๋กœ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์„œ 3๋ฒˆ ๋ฐ˜๋ณต ํ›„ ์ •๋ ฌํ•ด์ฃผ๋ฉด ๋œ๋‹ค. '000' ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋งˆ์ง€๋ง‰์— ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์ค€ ๋’ค์— ๋‹ค์‹œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

3. H-index: ๋ฌธ์ œ์—์„œ ๋‚˜์˜จ๋Œ€๋กœ h-index๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

<์ •๋‹ต ์ฝ”๋“œ>

# 1. k๋ฒˆ์งธ ์ˆ˜

def solution(array, commands):
    answer = []
    
    for command in commands:
        
        # ์ž๋ฅด๊ธฐ
        temp = array[command[0] - 1: command[1]]
        
        # ์ •๋ ฌํ•˜๊ธฐ
        temp.sort()
        
        # ์ •๋‹ต ๋„ฃ์–ด์ฃผ๊ธฐ
        answer.append(temp[command[2] - 1])
    
    return answer

 

# 2. ๊ฐ€์žฅ ํฐ ์ˆ˜
def solution(numbers):
    
    numbers_str = list(map(str, numbers))
    
    numbers_str.sort(key = lambda x: x*3, reverse=True)
    
    answer = str(int(''.join(numbers_str)))
    
    return answer

 

# 3. H-Index

def solution(citations):
    
    answer = 0
    # ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
    citations.sort(reverse=True)
    
    for idx in range(len(citations)):
        
        # h-index ๊ณ„์‚ฐ
        if citations[idx] >= idx + 1:
            answer = idx + 1
            break
    
    return answer

๋Œ“๊ธ€