Coding

[Programmers] ๋ถ€์กฑํ•œ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ

๋‚จ๋ฐ”์˜ค 2023. 2. 17. 14:29

https://school.programmers.co.kr/learn/courses/30/lessons/82612

๋ฌธ์ œ ์„ค๋ช…

์ƒˆ๋กœ ์ƒ๊ธด ๋†€์ด๊ธฐ๊ตฌ๋Š” ์ธ๊ธฐ๊ฐ€ ๋งค์šฐ ๋งŽ์•„ ์ค„์ด ๋Š์ด์งˆ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋†€์ด๊ธฐ๊ตฌ์˜ ์›๋ž˜ ์ด์šฉ๋ฃŒ๋Š” price์› ์ธ๋ฐ, ๋†€์ด๊ธฐ๊ตฌ๋ฅผ N ๋ฒˆ ์งธ ์ด์šฉํ•œ๋‹ค๋ฉด ์›๋ž˜ ์ด์šฉ๋ฃŒ์˜ N๋ฐฐ๋ฅผ ๋ฐ›๊ธฐ๋กœ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ฒ˜์Œ ์ด์šฉ๋ฃŒ๊ฐ€ 100์ด์—ˆ๋‹ค๋ฉด 2๋ฒˆ์งธ์—๋Š” 200, 3๋ฒˆ์งธ์—๋Š” 300์œผ๋กœ ์š”๊ธˆ์ด ์ธ์ƒ๋ฉ๋‹ˆ๋‹ค.
๋†€์ด๊ธฐ๊ตฌ๋ฅผ count๋ฒˆ ํƒ€๊ฒŒ ๋˜๋ฉด ํ˜„์žฌ ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ธˆ์•ก์—์„œ ์–ผ๋งˆ๊ฐ€ ๋ชจ์ž๋ผ๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”.
๋‹จ, ๊ธˆ์•ก์ด ๋ถ€์กฑํ•˜์ง€ ์•Š์œผ๋ฉด 0์„ return ํ•˜์„ธ์š”.

 

์ œํ•œ์‚ฌํ•ญ
  • ๋†€์ด๊ธฐ๊ตฌ์˜ ์ด์šฉ๋ฃŒ price : 1 ≤ price ≤ 2,500, price๋Š” ์ž์—ฐ์ˆ˜
  • ์ฒ˜์Œ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๊ธˆ์•ก money : 1 ≤ money ≤ 1,000,000,000, money๋Š” ์ž์—ฐ์ˆ˜
  • ๋†€์ด๊ธฐ๊ตฌ์˜ ์ด์šฉ ํšŸ์ˆ˜ count : 1 ≤ count ≤ 2,500, count๋Š” ์ž์—ฐ์ˆ˜

 

Write Up

def solution(price, money, count):
    answer = -1
    price_money = 0
    for i in range(count+1):
        price_money += price * i
        print(price_money)
        
    if(money < price_money):
        answer = price_money - money
    else:
        answer = 0

    return answer

 

ํ•œ ์ค„๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ, ์—…๋ฌด์—์„  ๊ฐ€๋…์„ฑ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ์ดํ•ดํ•˜๊ธฐ ํŽธํ•œ ์ฝ”๋“œ๋กœ ์ œ์ถœํ•˜์˜€๋‹ค.

๋ฌธ์ œ์— ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ํ•ด์„ํ•˜์—ฌ ํ•œ ์ค„์”ฉ ์ž‘์„ฑํ•˜์˜€๊ณ  ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์˜€๋‹ค.