알고리즘/programmers
프로그래머스 레벨2 숫자의 표현 (JAVA)
dev-jo
2021. 7. 16. 00:43
오늘 도 풀었다 2레벨!
아마 내 생각에 레벨2 에서 제일 쉬운 문제일걸 같다.
오늘 풀 문제는
https://programmers.co.kr/learn/courses/30/lessons/12924?language=java
코딩테스트 연습 - 숫자의 표현
Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할
programmers.co.kr
숫자의 표현이다.
모든 코드는 GitHub 에 올려놓았다.
n을 연속한 자연수들로 표현 하는 방법 이다.
바로 코드를 보자
class Solution {
public int solution(int n) {
int answer = 0;
int target = n / 2;
int count = 1;
while (count <= target) {
int sum = 0;
for(int i=count; i<=target+1; i++) {
sum += i;
if(sum == n) {
answer++;
}
if(sum > n) {
break;
}
}
count++;
}
return answer + 1;
}
}
문제에서의 15를 예시로 보면
1 2 3 4 5 = 15
이렇게 이어지는 수만된다..
나는 n 을 / 2 로 나눠주고 target까지만 반복문을 돌렸다.
n 이 20일경우 10 + 11 = 21
로 n초과기 때문에 절반까지만 돌리면된다.
끝..
이문제는 ..쓸게 없다.. 제일 쉬운 문제 같다..