본문 바로가기

코딩 테스트/백준(java)

백준 1463) 1로 만들기

반응형

https://www.acmicpc.net/problem/1463


메모리 : 9696 KB

시간 : 120 MS

코드길이 : 851 B

-------------------------------------------------


import java.util.Scanner;


public class Main {


public static void main(String[] args){

Scanner scanner = new Scanner(System.in);

int input = scanner.nextInt();

findNum(input);

}

public static void findNum(int n) {

int[] array = new int[n+1];

switch(n) {

default :

array[3] = 1;

case 2 :

array[2] = 1;

case 1 : 

array[1] = 0;

break;

}

for (int i=4; i<n+1; i++) {

int value = 0;

if (i%3 == 0) {

value = array[i/3] + 1;

}

if (i%2 ==0) {

value = getMinValue(value, array[i/2] + 1);

}

value = getMinValue(value, array[i-1] + 1);

array[i] = value;

}

System.out.println(array[n]);

}

public static int getMinValue(int value, int temp) {

if (value == 0) {

return temp;

}

return value < temp ? value : temp;

}

}

반응형

'코딩 테스트 > 백준(java)' 카테고리의 다른 글

Q14891번: 톱니바퀴  (0) 2021.03.20
Q14890: 경사로  (0) 2021.03.20
백준 2193) 이친수  (0) 2017.09.16
백준 1149) RGB거리  (0) 2017.09.16
백준 1003) 피보나치 함수  (0) 2017.09.16