손영배 블로그 누구나 쉽게 이해하고 습득하기
프로그램어스 숫자의표현 Level2 본문
public static int solution(int n) {
int answer = 0;
for (int i = 1; i < n / 2 + 1; i++) {
int sum = 0;
for (int j = i; j < n / 2 + 1 && sum < n; j++) {
sum += j;
if (sum == n) {
answer++;
break;
}
}
}
return answer + 1;
}
1. 약간의 규칙을 찾아야 했으며
2. 1,2,3,4,~~ 5000(10000/2) ~~~ 10000의 범위에서
1,2,3,4,5,6,......4998 4999 5000를 아무리 반복하더라도 1억번이 채 걸리지 않기 때문에 그냥 이중 for으로 풀어야 한다는 생각을 햇어야 했다. 제길....!
'programmers' 카테고리의 다른 글
프로그래머스 우유와 요거트가 담긴 장바구니 (0) | 2019.12.11 |
---|---|
자바 알고리즘 문제 풀 때 Sanner 보다 BufferReader, StringTokenizer을 쓰면 더 빠르다. (0) | 2019.09.07 |
프로그램어스 Level2 가장 큰 정사각형 찾기 Java (0) | 2019.07.03 |