#2 숫자의 표현
문제: https://programmers.co.kr/learn/courses/30/lessons/12924
1. 문제 설명
Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요.
2. 나의코드
class Solution {
public int solution(int n) {
int answer = 0;
int sum=0;
for(int i = 1; i <= n/2 ;i++) {
for(int j =i; j < n ;j++) {
sum+=j;
if(sum == n){
answer++;
break;
}
else if(sum > n)
break;
}
sum=0;
}
answer++;
return answer;
}
}
3. 보완
딱히 어려운 것은 없었지만, 중첩된 반복문에 좀 더 익숙해져야할 것 같다.
또한, 수의 덧셈이나 일정한 규칙을 다루는 알고리즘의 경우에는 주어진 매개변수의 1/2 정도만 계산하여
효율성을 높이는 경우가 많다.
'Computer Science > 알고리즘 문제풀이' 카테고리의 다른 글
[Programmers] #6 모의고사[JAVA] (0) | 2018.09.20 |
---|---|
[알고리즘 문제 풀이]#5 완주하지 못한 선수 [JAVA] (1) | 2018.09.20 |
[알고리즘 문제풀이] #4 탑[JAVA] (0) | 2018.09.19 |
[알고리즘 문제풀이]#3 최댓값과 최솟값 [JAVA] (0) | 2018.09.18 |
[알고리즘 문제풀이] #1 K번째수[Python3] (0) | 2018.09.17 |