โ๏ธ ๋ฌธ์ ์ค๋ช
์ด ๋์ด๊ธฐ๊ตฌ์ ์๋ ์ด์ฉ๋ฃ๋ 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 |