Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.
|
class Solution {
public int solution(int n) {
int answer = 0;
int cnt = 1;
while(true) {
int sum = 0;
for(int i=cnt; i<=n; i++) {
sum += i;
if(sum == n) {
answer++;
break;
}else if (sum > n) {
break;
}
}
cnt++;
if(cnt > n)
break;
}
return answer;
}
}
for 문 안에 sum>n 를 추가 해주지 않았을 때 효율성 실패가 나왔었다. ㅠ
합이 n 보다 크지 않으면 n 번까지 반복문이 계속 도니까 멈추는 구문이 필요했나보다.
'프로그래밍 > 알고리즘 (JAVA)' 카테고리의 다른 글
[JAVA] 프로그래머스 LEVEL2 다음 큰 숫자 / Java BitCount를 활용하여 문제풀이 (0) | 2023.02.24 |
---|---|
[JAVA] 프로그래머스 LEVEL2 피보나치 수 (0) | 2022.10.05 |
[JAVA] 백준 알고리즘 9012번 - 괄호 (Stack 활용) (0) | 2021.10.20 |
[JAVA] 백준 알고리즘 9093번 - 단어뒤집기 (시간초과) (0) | 2021.10.20 |
[JAVA] 백준 알고리즘 2557번 - Hello World! (0) | 2021.09.30 |