본문 바로가기
휴지통/알고리즘 & 자료구조

숫자의 표현

by 신재권 2022. 12. 30.
package programmers;

public class 숫자의표현 {

   public static int solution(int n) {
      int[] sum = new int[n + 1];
      sum[0] = 0;

      for (int i = 1; i <= n; i++) {
         sum[i] = sum[i - 1] + i;
      }

      int count = 0;
      int startIdx = 0;

      for (int i = 1; i <= n; i++) {
         int tmp = sum[i] - sum[startIdx];
         if (tmp == n) {
            count++;
            startIdx++;
            i = startIdx;
         } else if (tmp > n) {
            startIdx++;
            i = startIdx;
         }
      }

      return count;
   }

   public static void main(String[] args) {
      System.out.println(solution(15));

   }
}

'휴지통 > 알고리즘 & 자료구조' 카테고리의 다른 글

다음 큰 숫자  (0) 2023.01.01
피보나치 수  (0) 2022.12.31
이진 변환 반복하기  (0) 2022.12.29
올바른 괄호  (0) 2022.12.28
최솟값 만들기  (0) 2022.12.27