[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 35. ๋ถ€์กฑํ•œ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ

2025. 4. 2. 11:04ยท๋‚ด์ผ๋ฐฐ์›€์บ ํ”„/์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋“œ์นดํƒ€

โ‡๏ธ ๋ฌธ์ œ ์„ค๋ช…

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

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

 

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

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 

โ‡๏ธ ๋ฌธ์ œ ํ•ด์„

1. n๋ฒˆ์งธ ์ด์šฉํ•  ๋•Œ ๊นŒ์ง€ ์ด์šฉ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ
2. (์›๋ž˜ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ธˆ์•ก - 1๋ฒˆ์—์„œ ๊ตฌํ•œ ๊ธˆ์•ก) ์œผ๋กœ ๋ชจ์ž๋ฅธ ๊ธˆ์•ก ๊ตฌํ•˜๊ธฐ
3. 0์ด์ƒ์ผ ๊ฒฝ์šฐ 0 ๋ฐ˜ํ™˜, ์Œ์ˆ˜์ผ ๊ฒฝ์šฐ +๋กœ ๋ถ€ํ˜ธ ๋ณ€๊ฒฝ ํ›„ return

 

โ‡๏ธ ์ž‘์„ฑ ์ฝ”๋“œ

class Solution {
    public long solution(int price, int money, int count) {
        long answer = 0;
        
        long total = 0;
        
        for (int i = 1; i<=count; i++){
            total += (long) price * i;
        }
        
        if (money - total < 0){
            return (money - total) * -1;
        }

        return answer;
    }
}

 

โ‡๏ธ ์ฝ”๋“œ ํ’€์ด

1. n๋ฒˆ์งธ ์ด์šฉํ•  ๋•Œ ๊นŒ์ง€ ์ด์šฉ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ

long total = 0;

for (int i = 1; i<=count; i++){
    total += (long) price * i;
}

total๊ฐ’์„ ๊ตฌํ• ๋•Œ ๊ฐ’์ด ์ปค์ง€๋ฉด ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋  ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์— total์€ int๊ฐ€ ์•„๋‹Œ long์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.

 

2. (์›๋ž˜ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ธˆ์•ก - 1๋ฒˆ์—์„œ ๊ตฌํ•œ ๊ธˆ์•ก) ์œผ๋กœ ๋ชจ์ž๋ฅธ ๊ธˆ์•ก ๊ตฌํ•˜๊ธฐ
3. 0์ด์ƒ์ผ ๊ฒฝ์šฐ 0 ๋ฐ˜ํ™˜, ์Œ์ˆ˜์ผ ๊ฒฝ์šฐ +๋กœ ๋ถ€ํ˜ธ ๋ณ€๊ฒฝ ํ›„ return

if (money - total < 0){
    return (money - total) * -1;
}

return answer;

 


โ‡๏ธ ๋ฒˆ์™ธ

๋“ฑ์ฐจ์ˆ˜์—ด + max ๋ฉ”์„œ๋“œ๋กœ ๋ถ€์กฑํ•œ ๊ธˆ์•ก returnํ•˜๊ธฐ

class Solution {
    public long solution(long price, long money, long count) {
        return Math.max(price * (count * (count + 1) / 2) - money, 0);
    }
}

์ˆ˜์—ด์˜ ํ•ฉ ๊ณต์‹: n * (n + 1) / 2 ์„ ํ™œ์šฉํ•˜์—ฌ count ํšŸ์ˆ˜๋งŒํผ์˜ ํ•ฉ์„ ๊ตฌํ•œ ํ›„ price๋ฅผ ๊ณฑํ•œ๋‹ค. (์ด์šฉ๋ฃŒ ๊ณ„์‚ฐ)

(์ด์šฉ๋ฃŒ - money)๋กœ ๊ณ„์‚ฐํ•ด์„œ ์–‘์ˆ˜๋กœ ๋ถ€์กฑํ•œ ๊ธˆ์•ก์„ ๊ตฌํ•œ๋‹ค.

if๋ฌธ์ด ์•„๋‹Œ max()๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐ˜ํ™˜๊ฐ’์„ ๊ตฌํ•œ๋‹ค.

'๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ > ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋“œ์นดํƒ€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 59. ๋ง์น ํ•˜๊ธฐ  (0) 2025.05.11
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 50. ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฐ™์€ ๊ธ€์ž  (1) 2025.04.17
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 30. ๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ  (0) 2025.03.28
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 29. ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ  (0) 2025.03.27
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 28. ์—†๋Š” ์ˆซ์ž ๋”ํ•˜๊ธฐ  (0) 2025.03.26
'๋‚ด์ผ๋ฐฐ์›€์บ ํ”„/์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋“œ์นดํƒ€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 59. ๋ง์น ํ•˜๊ธฐ
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 50. ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฐ™์€ ๊ธ€์ž
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 30. ๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 29. ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ
aggeeeee
aggeeeee
ใ€€ φ(๏ผŽ๏ผŽ;)ใ€€๐Ÿ”œใ€€\_ใธ(โ–ญ-โ–ญ)โœจ
  • aggeeeee
    ๐Ÿฅ” ๋‹˜์˜ ๋ธ”๋กœ๊ทธ
    aggeeeee
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (155)
      • Today I Learned (25)
      • ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ (115)
        • ๋ณธ์บ ํ”„ ๊ณผ์ œ (17)
        • ์‚ฌ์ „์บ ํ”„ ๊ณผ์ œ (23)
        • SQL ์ฝ”๋“œ์นดํƒ€ (44)
        • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋“œ์นดํƒ€ (31)
      • ๐Ÿ’ป๐Ÿš€ (15)
        • Java (7)
        • Git & GitHub (1)
        • CS (4)
        • Spring & SpringBoot (3)
  • ๋งํฌ

  • ์ตœ๊ทผ ๊ธ€

  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
aggeeeee
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] 35. ๋ถ€์กฑํ•œ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”