문제 URL
https://school.programmers.co.kr/learn/courses/30/lessons/12924
문제풀이 Key Point
- 연속된 자연수들의 합을 구해야한다.
- 연속된 자연수의 합이 n보다 작다면 큰쪽 값을 하나 추가해서 다시 합을 구한다.
- 연속된 자연수의 합이 n보다 크다면 작은쪽 값을 하나 빼서 다시 합을 구한다.
Java 문제풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
class Solution {
public int solution(int n) {
int answer = 0;
int from = 1;
int to = from;
while (from <= n) {
if (from == to && from == n) {
answer++;
to++;
continue;
}
int sum = 0;
for (int i = from; i <= to; i++) {
sum += i;
}
if (sum > n) {
from++;
} else if(sum < n) {
to++;
} else {
answer++;
to++;
}
}
return answer;
}
}
|
cs |
'알고리즘 문제풀이' 카테고리의 다른 글
[프로그래머스 12911] Level2 다음 큰 숫자(Java) (0) | 2022.09.14 |
---|---|
[프로그래머스 87390] Level2 n^2배열 자르기 (0) | 2022.09.12 |
[프로그래머스 64055] Level2 튜플 (0) | 2022.09.11 |
[프로그래머스 12909] Level2 올바른 괄호 (0) | 2022.09.11 |
[프로그래머스 12941] Level2 최솟값 만들기 (0) | 2022.09.09 |