๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/12924
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
Finn์ ์์ฆ ์ํ๊ณต๋ถ์ ๋น ์ ธ ์์ต๋๋ค. ์ํ ๊ณต๋ถ๋ฅผ ํ๋ Finn์ ์์ฐ์ n์ ์ฐ์ํ ์์ฐ์๋ค๋ก ํํํ๋ ๋ฐฉ๋ฒ์ด ์ฌ๋ฌ ๊ฐ๋ผ๋ ์ฌ์ค์ ์๊ฒ ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด 15๋ ๋ค์๊ณผ ๊ฐ์ด 4๊ฐ์ง๋ก ํํํ ์ ์์ต๋๋ค.
- 1 + 2 + 3 + 4 + 5 = 15
- 4 + 5 + 6 = 15
- 7 + 8 = 15
- 15 = 15
์์ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ฐ์๋ ์์ฐ์๋ค๋ก n์ ํํํ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ returnํ๋ solution๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- n์ 10,000 ์ดํ์ ์์ฐ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
n | result |
15 | 4 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ฌธ์ ์ ์์์ ๊ฐ์ต๋๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋
class Solution {
public int solution(int n) {
// ์ฐ์๋ ์์ฐ์๋ก n์ ํํํ๋ ๊ฒฝ์ฐ์ ์
int answer = 0;
// i: ์ฐ์ํฉ์ ์์ ์ซ์
for (int i = 1; i <= n; i++) {
// ๋ถ๋ถํฉ ์ด๊ธฐํ
int sum = 0;
// j: ์ฐ์๋ ์ซ์ ์ฆ๊ฐ์ํค๋ฉฐ ํฉ ๊ณ์ฐ
for (int j = i; j <= n+1; j++) {
// sum์ด n๊ณผ ๊ฐ๋ค๋ฉด
if (sum == n) {
// answer +1
answer++;
// ๋ ์ด์ ํ์ธํ์ง ์๊ณ ๋ค์ ์์ ์ซ์๋ก
break;
// ์์ง n๋ณด๋ค ์๋ค๋ฉด
} else if (sum < n) {
// ๋ค์ ์ซ์ ๋ํ๊ธฐ
sum += j;
// n๋ณด๋ค ํฌ๋ค๋ฉด
} else {
// ๋ค์ ์์ ์ซ์๋ก
break;
}
}
}
// answer ๋ฐํ
return answer;
}
}
๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์๊ฐํ ๋ฐฉํฅ
์ฐ์๋๋ ์ซ์์ ํฉ์ด n์ด ๋๋ ๋ฐฉ๋ฒ์ด ๋ช ๊ฐ์ธ์ง ํ์ธํ๋ ค๋ฉด 1๋ถํฐ ์์ํด์ ์ฐ์๋๋ ํฉ์ด ์ผ์นํ๋์ง ํ์ธํ๋ค.
ํด๋นํ ๊ฒฝ์ฐ answer +1 ํด์ค ํ continue๋ก ๋ฐ๋ณต๋ฌธ์ ๊ณ์ ์คํํ๋ค.
for๋ฌธ์ ์ฌ์ฉํด์ผ ํ๋?
๋ ๋ฒ์งธ for๋ฌธ์ ๋ฒ์๋ n+1๊น์ง ํด์ผ ๋ง์ง๋ง ์ซ์๋ ๋น๊ตํ ์ ์๋ค!
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ต ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ํผ๋ณด๋์น ์ (1) | 2025.04.17 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ๋ค์ ํฐ ์ซ์ (1) | 2025.04.16 |
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์์ด (0) | 2025.04.15 |
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ (1) | 2025.04.14 |
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ฃผ์๊ฐ๊ฒฉ (4) | 2025.04.11 |