[프로그래머스] 숫자의 표현(Java)

수경·2023년 2월 4일
0

problem solving

목록 보기
112/174

프로그래머스 - 숫자의 표현

풀이

무지성 문제 풀이~^^

sum = 1 ~ i 까지의 합 (1 + 2 + 3 + ... + i)
➡️ 등차수열의 첫 번째 항

i = 등차

sum123456789101112131415...21
i = 111111111111111111
i = 2311111111
i = 3611111
i = 41011
i = 5151
i = 6211

각 1 = n부터 연속한 i개의 합을 체크

i = 3일때

  • 1 + 2 + 3 = 6 (= sum, 시작점)
  • 2 + 3 + 4 = 9
  • 3 + 4 + 5 = 12
  • 4 + 5 + 6 = 15

➡️ sum부터 시작해서 i 만큼의 등차를 가짐


코드

class Solution {
    public int solution(int n) {
        int result = 0;
		int sum = 0;

        for (int i = 1; ; i++) {
			sum += i;
			if (sum > n) break;
			if ((n - sum) % i == 0) result++;
		}
		return result;
    }
}
profile
어쩌다보니 tmi뿐인 블로그😎

0개의 댓글