반응형
연속되는 수를 더해서 입력받은 수가 되는 케이스의 갯수를 구하는 문제이다.
만약 15를 입력받았다면
연속되는 숫자 중 합이 15가 되는 케이스의 갯수를 추출하는 것이다.
먼저 1부터 시작되어야 하기 때문에 1부터 15까지 반복문을 돌리면서
반복문 안에 반복문을 하나 더 추가하여 합산된 숫자를 확인하면 된다.
내부 반복문의 시작은 하나씩 증가해야 하며
더한 총 결과 값이 15이면 추출할 변수에 + 1 한 후, 반복문 탈출 break;
더한 총 결과 값이 15 이상이면 바로 반복문 탈출 break; 를 해주면 된다.
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=1; i<=n; i++) {
int sum = 0;
for(int j=i; j<=n; j++) {
sum += j;
// System.out.println(i);
// 합이 15인 경우 count + 1, break
if (sum == n) {
// System.out.println(sum);
answer += 1;
break;
}
// 합이 15보다 큰 경우 break
else if (sum > n) {
// System.out.println(sum);
break;
}
}
}
return answer;
}
}
문제 난이도는 낮은 편인 거 같긴 하다.
처음엔 while 문을 사용해서 했다가 효율성에서 통과되지 못해서 for 문으로 변경해주었다.
반응형
'[JAVA]' 카테고리의 다른 글
[프로그래머스 JAVA] 의상 문제 풀이 (0) | 2023.11.19 |
---|---|
[프로그래머스 JAVA] 다음 큰 숫자 문제 풀이 (1) | 2023.11.18 |
[프로그래머스 JAVA] 이진 변환 반복하기 문제 풀이 (0) | 2023.11.17 |
[프로그래머스 JAVA] 최솟값 만들기 문제 풀이 (0) | 2023.11.16 |
[프로그래머스 JAVA] 최댓값과 최솟값 풀이 (1) | 2023.11.11 |