https://school.programmers.co.kr/learn/courses/30/lessons/12924
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Level 2. 숫자의 표현
접근 방식
이중 반복문을 돌면서, sum 값을 계속해서 더하면서 n과 같아지는 순간을 확인한다.
만약 sum값이 n보다 커지는 순간, 해당 값은 answer에 포함이 되지 않으므로 break를 건다.
코드
class Solution {
public int solution(int n) {
int answer = 0;
// int sum = 0;
for(int i=1; i<=n; i++){
int sum = 0;
for(int j=i; j<=n; j++){
sum += j;
if(sum == n){
answer++;
break;
}
else if(sum > n){
break;
}
}
}
return answer;
}
}
고찰
문제 푸는 것 자체는 큰 무리가 없었는데, 처음에 sum 선언을 for문 밖에서 했더니 계속해서 답이 아니라고 나왔다.. 아무리 생각해도 맞는 거 같아서 다른 풀이를 찾아봤더니 sum값은 당연히 for문 안에서 선언을 해야 계속해서 새로운 값을 찾아낼 수 있다는 사실을 까먹고 있었다. 바보같다...
하면 할수록 부족하다는 사실을 많이 깨닫는다.
'알고리즘 > Java' 카테고리의 다른 글
[프로그래머스] - 피보나치 수 (0) | 2023.04.25 |
---|---|
[프로그래머스 ] Java - 다음 큰 숫자 (0) | 2023.04.16 |
[프로그래머스] Java - 이진 변환 반복하기 (0) | 2023.04.09 |
[프로그래머스] Java - 올바른 괄호 (0) | 2023.04.08 |
[프로그래머스] JAVA - 최솟값 만들기 (0) | 2023.04.06 |