๋ฌธ์ ์ค๋ช
์๋ก ์๊ธด ๋์ด๊ธฐ๊ตฌ๋ ์ธ๊ธฐ๊ฐ ๋งค์ฐ ๋ง์ ์ค์ด ๋์ด์ง ์์ต๋๋ค. ์ด ๋์ด๊ธฐ๊ตฌ์ ์๋ ์ด์ฉ๋ฃ๋ 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๋ ์์ฐ์
์ ์ถ๋ ฅ ์
price | money | count | result |
3 | 20 | 4 | 10 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ์ด์ฉ๊ธ์ก์ด 3์ธ ๋์ด๊ธฐ๊ตฌ๋ฅผ 4๋ฒ ํ๊ณ ์ถ์ ๊ณ ๊ฐ์ด ํ์ฌ ๊ฐ์ง ๊ธ์ก์ด 20์ด๋ผ๋ฉด, ์ด ํ์ํ ๋์ด๊ธฐ๊ตฌ์ ์ด์ฉ ๊ธ์ก์ 30 (= 3+6+9+12) ์ด ๋์ด 10๋งํผ ๋ถ์กฑํ๋ฏ๋ก 10์ return ํฉ๋๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋
import java.util.*;
class Solution {
public long solution(int price, int money, int count) {
long answer = -1;
long sum = 0;
for (int i = 1; i <= count; i++) {
sum = sum + (price * i);
}
if (money < sum) {
answer = sum - money;
} else {
answer = 0;
}
return answer;
}
}
์ฒ์์๋ money์์ sum์ ๋นผ๊ณ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์งํํ๋๋ฐ ํ ์คํธ์์ ์๊พธ ๋ช ๊ฐ๊ฐ ์คํจํ๋ค๊ณ ๋์์ ๊ตฌ๊ธ๋ง์ ํตํด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ๋์ ํ๋ค.
์ฝ๋ ์ค๋ช
- long sum = 0 : ์ ์ฒด ํฉ๊ณ๋ฅผ ์ ์ฅํ long ํ์ ๋ณ์ sum๋ฅผ ์์ฑํ๋ค.
- for (int i = 1; i <= count; i ++) { } : ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด์ ํฉ๊ณ๋ฅผ ๊ตฌํ๋ค.
- sum = sum + (price * i) : ๋ณ์ sum์ price * i๋ฅผ ๋ฐ๋ณตํด์ ๋ํด์ค๋ค.
- if (money < sum) { } : ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํด์ ๋ณ์ money๋ณด๋ค sum์ด ๋ ํด ๊ฒฝ์ฐ ์งํํ๋ค.
- anwer = sum - money : ๋ณ์ answer์์ sum - money ๊ฐ์ ์ ์ฅํ๋ค.
- else { answer = 0 } : money๊ฐ ๋ ํฌ๋ค๋ฉด ๋ณ์ answer์ 0์ ์ ์ฅํ๋ค.
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ต ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค_์ฝ์์ ๊ฐ์์ ๋ง์ (0) | 2024.11.20 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค_๋ด์ (0) | 2024.11.19 |
ํ๋ก๊ทธ๋๋จธ์ค_์๋ฐ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์? (0) | 2024.11.17 |
ํ๋ก๊ทธ๋๋จธ์ค_๊ฐ์ด๋ฐ ๊ธ์ ๊ฐ์ ธ์ค๊ธฐ (0) | 2024.11.15 |
ํ๋ก๊ทธ๋๋จธ์ค_์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2024.11.15 |