Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป

Algorithm/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ (level.1)

๊ฐ์ž ๐Ÿฅ” 2021. 9. 3. 16:32
๋ฐ˜์‘ํ˜•

 

๋ฌธ์ œ๋งํฌ

https://programmers.co.kr/learn/courses/30/lessons/77884

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ

๋‘ ์ •์ˆ˜ left์™€ right๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. left๋ถ€ํ„ฐ right๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆ˜๋“ค ์ค‘์—์„œ, ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ง์ˆ˜์ธ ์ˆ˜๋Š” ๋”ํ•˜๊ณ , ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ธ ์ˆ˜๋Š” ๋บ€ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ

programmers.co.kr

 

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

def solution(left, right):
    newlist = []
    for num in range(left, right+1):
        ylist = [] #num์ด ๋ฐ”๋€”๋•Œ๋งˆ๋‹ค ์ดˆ๊ธฐํ™”
        for i in range(1, num+1):
            if num % i == 0:
                ylist.append(i)
        if len(ylist) % 2 == 0: #์ง์ˆ˜๊ฐœ๋ฉด
            newlist.append(num)
        else:
            newlist.append(num*(-1))
    return int(sum(newlist))

 

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

https://programmers.co.kr/learn/courses/30/lessons/77884/solution_groups?language=python3&type=all 

ํ•จ๊ป˜ ์Šคํ„ฐ๋””ํ•˜๋Š” ์˜ค๋น ๋ž‘ ํ’€์ด๊ฐ€ ์™„์ „ ๋˜‘๊ฐ™๋‹ค ใ…‹ใ…‹ใ…‹ใ…‹ ์‚ฌ๋žŒ๋“ค์€ ๋‹ค ์ƒ๊ฐํ•˜๋Š”๊ฒŒ ๋น„์Šทํ•œ๊ฒƒ ๊ฐ™๋‹ค.
๋‹ค๋ฅธ์‚ฌ๋žŒํ’€์ด์—์„œ ์ข‹์•„์š”์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋งŽ์€ ๊ฒƒ์€ ์•„๋ž˜ ์ฝ”๋“œ์˜€๋‹ค. ์™ค์ผ€์งง๊ณ  ๊ฐ„๋‹จํ•ด!

def solution(left, right):
    answer = 0
    for i in range(left,right+1):
        if int(i**0.5)==i**0.5:
            answer -= i
        else:
            answer += i
    return answer

์ œ๊ณฑ์ˆ˜์˜ ์•ฝ์ˆ˜์˜ ๊ฐฏ์ˆ˜๋Š” ํ™€์ˆ˜, ๋ผ๋Š” ์ ์„ ์ด์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด์ œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ๊นŒ ์•ฝ์ˆ˜๋Š” ์ •๋ง ๋ชจ๋‘ ์ง์ˆ˜์ด์ง€๋งŒ ์ œ๊ณฑ์ˆ˜๋งŒ ์•ฝ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ž„์„ ์•Œ์ˆ˜์žˆ๋‹ค. (4, 9, 16 ๋“ฑ) ์•ฝ์ˆ˜์˜ ์„ธ๊ณ„๋Š” ํŒŒ๊ณ ๋“ค๋ฉด ์ •๋ง ์ˆ˜๋งŽ์€ ์•„์ด๋””์–ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ๊ฐ™๋‹ค. ๋งŽ์ด ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค!

๋ฐ˜์‘ํ˜•