반응형
SMALL
https://programmers.co.kr/learn/courses/30/lessons/12924
- 연속된 자연수의 합이 n이 되는 경우를 찾는 문제
- '연속된' 이므로 반복문을 돌려 1씩 증가하는 숫자를 더해나가는 방식
- 1부터 더해나가고 n 자신이 답이 될 수 있으므로 n을 포함하는 범위
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1; i <= n; i++) { // 자연수니까 1부터 더해 나가고 n 하나로도 답이 되므로 n 포함
int sum = 0;
for(int j = i; j <= n; j++) { // 현재 수 i 부터 그 다음 숫자들을 하나씩 더하다가
sum += j;
if(sum == n) { // n 이 되면 stop
answer++; // result(answer) 1 증가
break;
} else if(sum > n) { // n을 넘어가면 그냥 stop
break;
}
}
}
return answer;
}
}
반응형
LIST
'JAVA > Algorithm' 카테고리의 다른 글
[프로그래머스/java] 최솟값 만들기 (0) | 2021.01.07 |
---|---|
[프로그래머스/java] 올바른 괄호 (stack 사용 유무) (0) | 2021.01.03 |
[프로그래머스/java] 다음 큰 숫자 (2진수의 1개수 세기 - bitCount()) (0) | 2021.01.03 |
[프로그래머스/java] 구명보트 (0) | 2021.01.02 |
[프로그래머스/java] 위장 (HashMap - 가능한 조합의 개수) (0) | 2021.01.02 |