[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์œ„ํด๋ฆฌ์ฑŒ๋ฆฐ์ง€ / 1์ฃผ์ฐจ / ๋ถ€์กฑํ•œ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ / ํŒŒ์ด์ฌ / python
Algorithm/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์œ„ํด๋ฆฌ์ฑŒ๋ฆฐ์ง€ / 1์ฃผ์ฐจ / ๋ถ€์กฑํ•œ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ / ํŒŒ์ด์ฌ / python

728x90
๋ฐ˜์‘ํ˜•

 

๐Ÿ’กsolutions )

๐Ÿ’ฌ while ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉฐ ํ•ด๋‹น ์นด์šดํŠธ๋ณ„ ์ด์šฉ๋ฃŒ๋ฅผ ๋”ํ•ด์ฃผ๊ณ  ๋งˆ์ง€๋ง‰์— ๊ฐ€์ง€๊ณ  ์žˆ๋Š” money์™€ ๊ธˆ์•ก์„ ๋น„๊ตํ•œ๋‹ค.

 

๐Ÿ‘จ‍๐Ÿ’ปcode )

def solution(price, money, count):
    required_money = 0
    current_count = 1
    while current_count < count+1:
        required_money += (price*current_count) 
        current_count += 1
    return abs(required_money - money) if required_money > money else 0

 

๐Ÿ“Œdescription )

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 1์ฃผ์ฐจ_๋ถ€์กฑํ•œ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ

์ƒˆ๋กœ ์ƒ๊ธด ๋†€์ด๊ธฐ๊ตฌ๋Š” ์ธ๊ธฐ๊ฐ€ ๋งค์šฐ ๋งŽ์•„ ์ค„์ด ๋Š์ด์งˆ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋†€์ด๊ธฐ๊ตฌ์˜ ์›๋ž˜ ์ด์šฉ๋ฃŒ๋Š” price์› ์ธ๋ฐ, ๋†€์ด๊ธฐ๊ตฌ๋ฅผ N ๋ฒˆ ์งธ ์ด์šฉํ•œ๋‹ค๋ฉด ์›๋ž˜ ์ด์šฉ๋ฃŒ์˜ N๋ฐฐ๋ฅผ ๋ฐ›๊ธฐ๋กœ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ฒ˜์Œ ์ด

programmers.co.kr


๋ฌธ์ œ ์„ค๋ช…

์ƒˆ๋กœ ์ƒ๊ธด ๋†€์ด๊ธฐ๊ตฌ๋Š” ์ธ๊ธฐ๊ฐ€ ๋งค์šฐ ๋งŽ์•„ ์ค„์ด ๋Š์ด์งˆ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋†€์ด๊ธฐ๊ตฌ์˜ ์›๋ž˜ ์ด์šฉ๋ฃŒ๋Š” 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๋Š” ์ž์—ฐ์ˆ˜

์ž…์ถœ๋ ฅ ์˜ˆ

pricemoneycountresult

3 20 4 10

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

์ž…์ถœ๋ ฅ ์˜ˆ #1
์ด์šฉ๊ธˆ์•ก์ด 3์ธ ๋†€์ด๊ธฐ๊ตฌ๋ฅผ 4๋ฒˆ ํƒ€๊ณ  ์‹ถ์€ ๊ณ ๊ฐ์ด ํ˜„์žฌ ๊ฐ€์ง„ ๊ธˆ์•ก์ด 20์ด๋ผ๋ฉด, ์ด ํ•„์š”ํ•œ ๋†€์ด๊ธฐ๊ตฌ์˜ ์ด์šฉ ๊ธˆ์•ก์€ 30 (= 3+6+9+12) ์ด ๋˜์–ด 10๋งŒํผ ๋ถ€์กฑํ•˜๋ฏ€๋กœ 10์„ return ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  ์‚ฌํ•ญ

  • ๋ฏธ์…˜ ์–ธ์–ด๋Š” Java, JavaScript, Python3, C++ ๋งŒ ํ•ด๋‹น ๋ฉ๋‹ˆ๋‹ค.
  • ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ œ์ถœํ•œ ์‚ฌ๋žŒ์ด ์—ฌ๋Ÿฟ์ด๋ผ๋ฉด ์ฝ”๋“œ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์ œ์ถœํ•œ ๋ถ„๊ป˜ ์ƒํ’ˆ์„ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
  • ์ข‹์•„์š” ์ˆ˜๊ฐ€ ๋™์ผํ•  ๊ฒฝ์šฐ ์ฝ”๋“œ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์ œ์ถœํ•œ ๋ถ„๊ป˜ ์ƒํ’ˆ์„ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•