์ฝ”๋”ฉํ…Œ์ŠคํŠธ - ์—ฐ๊ฒฐ๋œ ์ˆ˜์˜ ํ•ฉ/ ํŒŒ์ด์ฌ Python

2023. 3. 19. 01:42ใ†Study_Develop/PYTHON

๋ฐ˜์‘ํ˜•

๋ฌธ์ œ>

๋ฌธ์ œ์˜ ๊ทœ์น™>

num=3, total=12, result=[3, 4, 5]๋ฅผ ๋ณด๋ฉด ํ‰๊ท (total//num=4)์ด ๊ฐ€์šด๋ฐ ์— ์œ„์น˜ํ•ด ์žˆ๊ณ , 

์–‘ ์˜†์˜ ์ˆซ์ž๋Š” -1, +1 ํ•œ ์ˆซ์ž์ž…๋‹ˆ๋‹ค.

 

num=5, total=15, result=[1, 2, 3, 4, 5]๋ฅผ ๋ณด๋ฉด ํ‰๊ท (total//num=3)์ด ๊ฐ€์šด๋ฐ ์— ์œ„์น˜ํ•ด ์žˆ๊ณ , 

์–‘ ์˜†์˜ ์ˆซ์ž๋Š” -2, -1, 0, +1, +2 ํ•œ ์ˆซ์ž์ž…๋‹ˆ๋‹ค.

 

num=4, total=14, result=[2, 3, 4, 5]๋ฅผ ๋ณด๋ฉด ํ‰๊ท (total//num=3 )์ด ๊ฐ€์šด๋ฐ ์™ผ์ชฝ์— ์œ„์น˜ํ•ด ์žˆ๊ณ ,

์–‘ ์˜†์˜ ์ˆซ์ž๋Š” -1, +1, +2 ํ•œ ์ˆซ์ž์ž…๋‹ˆ๋‹ค.

 

num=5, total=5, result=[-1, 0, 1, 2, 3]๋ฅผ ๋ณด๋ฉด ํ‰๊ท (total//num=1)์ด ๊ฐ€์šด๋ฐ ์œ„์น˜ํ•ด ์žˆ๊ณ ,

์–‘ ์˜†์˜ ์ˆซ์ž๋Š” -2, -1, 0, +1, +2 ํ•œ ์ˆซ์ž์ž…๋‹ˆ๋‹ค.

 

-> ์œ„์˜ ๊ทœ์น™์—์„œ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ num ์ด ํ™€์ˆ˜์ด๋ฉด, ๊ฐ€์šด๋ฐ์— ์œ„์น˜ํ•˜๊ณ  

num ์ด ์ง์ˆ˜์ด๋ฉด ๊ฐ€์šด๋ฐ ์™ผ์ชฝ์— ์œ„์น˜ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๋ฌธ์ œํ•ด๊ฒฐ 1>

def solution(num, total):
    middle_idx = num // 2
    
    average = total // num
    
    if num%2==1:
        start_num = middle_idx * - 1
    else:
        start_num = middle_idx * -1 +1
    end_num = middle_idx + 1
    
    return [num + average for num in range(start_num, end_num)]

์œ„์˜ ๊ทœ์น™์„ ์ด์šฉํ•˜์—ฌ ์ฝ”๋”ฉํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

num ์ด ํ™€์ˆ˜์ด๋ฉด, ๊ฐ€์šด๋ฐ์— ์œ„์น˜ํ•˜๊ณ  

num ์ด ์ง์ˆ˜์ด๋ฉด ๊ฐ€์šด๋ฐ ์™ผ์ชฝ์— ์œ„์น˜ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ด์šฉํ•ด์„œ if-else๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

๋ฌธ์ œํ•ด๊ฒฐ 2>

def solution(num, total):
    average = total // num
    return [i for i in range(average - (num-1)//2, average + (num + 2)//2)]

๋ฌธ์ œํ•ด๊ฒฐ1๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋น„์Šทํ•˜์ง€๋งŒ ์ธ๋ฑ์Šค๋ฅผ ์—†์• ๊ณ  num - 1๋กœ ํ•˜๊ณ  ์šฐ์ธก์€ num + 2๋กœ ์ง์ˆ˜, ํ™€์ˆ˜๋ฅผ

๊ตฌ๋ถ„ํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

 

์ขŒ, ์šฐ์ธก ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋Š” num์ด ์ง์ˆ˜์ด๋ƒ ํ™€์ˆ˜์ด๋ƒ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์™ผ์ชฝ ๋ ๊ฐ’์„ ๊ตฌํ•˜๊ธฐ 

์œ„ํ•ด์„œ๋Š” num - 1๋กœ ํ•˜๊ณ  ์šฐ์ธก์€ num + 2๋ฅผ ํ•˜๋ฉด ์ง์ˆ˜, ํ™€์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ์—ฐ์†์ ์ธ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

โ— ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค๊ณผ ๋น„๊ต์  ํ’€๊ธฐ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ lv.0์— ์žˆ๋Š” ๋ฌธ์ œ์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ ์ •๋‹ต๋ฅ ๋„ ๋‚ฎ์€ ํŽธ์ž…๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์˜ˆ์‹œ๋ฅผ ๋„ฃ์—ˆ์„ ๋•Œ์—๋„ ์ด ์‹์ด ์„ฑ๋ฆฝํ•˜๋ ค๋‚˜? ๋ฅผ ์ž๊พธ ๊ณ ๋ฏผํ•˜๋‹ค๋ณด๋‹ˆ 

์ƒ๊ฐ์ด ๋งŽ์•„์ง„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์— ๋‚˜์˜จ ์˜ˆ์‹œ๋“ค๋กœ๋งŒ ๊ทœ์น™์„ ์ฐพ๊ณ  ์ € ์˜ˆ์‹œ์— ๋‹ต์ด ๋ถ€ํ•ฉํ•˜๋„๋ก

์ฝ”๋“œ๋ฅผ ์งœ๋ฉด ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.