[백준/Silver III] 1로 만들기 - 1463

2024. 10. 14. 00:35·코딩 테스트 정복기/백준
반응형

[Silver III] 1로 만들기 - 1463

문제 링크

성능 요약

메모리: 19404 KB, 시간: 88 ms

분류

다이나믹 프로그래밍

제출 일자

2024년 10월 10일 23:16:02

문제 설명

정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.

  1. X가 3으로 나누어 떨어지면, 3으로 나눈다.
  2. X가 2로 나누어 떨어지면, 2로 나눈다.
  3. 1을 뺀다.

정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오.

입력

첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.

출력

첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다.

제출 코드

import java.io.*;
import java.util.Arrays;

public class Main {
    static int[] arr;
    static public int dp(int n){
        int[] arr = new int[n+1];
        for(int i = 2; i <= Math.min(3, n); i++){
            arr[i] = 1;
        }
        for(int i = 4; i <= n; i++){
            arr[i] = arr[i-1];
            if(i%3 == 0){
                arr[i] = Math.min(arr[i], arr[i/3]);
            }
            if(i%2== 0){
                arr[i] = Math.min(arr[i], arr[i/2]);
            }
            arr[i] += 1;
        }
        return arr[n];
    }
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        arr = new int[n+1];
        System.out.print(dp(n));
    }
}
728x90
반응형

'코딩 테스트 정복기 > 백준' 카테고리의 다른 글

[백준/Silver III] 1, 2, 3 더하기 - 9095  (0) 2024.10.16
[백준/Silver III] 피보나치 함수 - 1003  (0) 2024.10.16
[백준/Silver V] 집합 - 11723  (1) 2024.10.16
[백준/Silver I] 구간 합 구하기 5 - 11660  (1) 2024.10.15
[백준/Silver II] DFS와 BFS - 1260  (0) 2024.10.08
'코딩 테스트 정복기/백준' 카테고리의 다른 글
  • [백준/Silver III] 피보나치 함수 - 1003
  • [백준/Silver V] 집합 - 11723
  • [백준/Silver I] 구간 합 구하기 5 - 11660
  • [백준/Silver II] DFS와 BFS - 1260
settong
settong
    250x250
  • settong
    개 발 자 국
    settong
  • 전체
    오늘
    어제
    • 전체보기 (202)
      • Computer Science (50)
        • Network (7)
        • Operating System (18)
        • Data Structure (9)
        • Database (11)
        • Algorithm (5)
      • Language (17)
        • Java (17)
        • Javascript (0)
        • Python (0)
      • Devops (20)
        • AWS (0)
        • Naver Cloud (16)
        • CICD (3)
        • 웹 서버 관리 (1)
      • Front (0)
        • React (0)
      • Backend (5)
        • Spring (5)
      • 코딩 테스트 정복기 (110)
        • 백준 (51)
        • 프로그래머스 (53)
        • 기타 (6)
      • etc (0)
      • 경제 상식 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    해시
    백트래킹
    벨만포드
    DFS
    github actions
    분할정복
    다익스트라
    lcs
    ncp202
    프로그래머스
    다이나믹프로그래밍
    ncp200
    집합
    ncp
    Spring Boot
    백준
    완전탐색
    Network
    BFS
    CI/CD
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
settong
[백준/Silver III] 1로 만들기 - 1463
상단으로

티스토리툴바