알고리즘/프로그래머스
프로그래머스 Lv.2) 숫자의 표현
Zin0_0
2020. 5. 21. 16:51
반응형
숫자의 표현
코딩테스트 연습 - 숫자의 표현
Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할
programmers.co.kr
풀이
이 문제도 삽질을 조금 한것같다. 수식을 통해 풀어야한다는 압박감에 이것 저것 시도해본 문제였다.
이분탐색을 통해서 풀어보려고도 하고, 점화식을 세워서 풀어보려고도 했는데 코드에서 보시면 알 수 있듯 모두 실패했다..
시간초과거나 정답이 아닌 경우가 많았기 때문이다. 이 문제도 질문하기 탭을 통해 깨달음을 얻었다.
그냥 완전탐색을 하면 된다는 사실을 알고 허무했다.
n이 최대 10000인데 완전탐색하면 효율이 안좋지 않나 생각이 발목을 잡은 것이다.
이 문제는 탐색을 하면서 이어지는 숫자의 합과 답이 같은지 세어주면 된다.
코드
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;
if(sum >= n) {
if(sum==n) {
answer++;
}
break;
}
}
}
return answer;
}
}
반응형