import java.util.*;
class Solution {
static int[][] cost = {
{ 1, 7, 6, 7, 5, 4, 5, 3, 2, 3 },
{ 7, 1, 2, 4, 2, 3, 5, 4, 5, 6 },
{ 6, 2, 1, 2, 3, 2, 3, 5, 4, 5 },
{ 7, 4, 2, 1, 5, 3, 2, 6, 5, 4 },
{ 5, 2, 3, 5, 1, 2, 4, 2, 3, 5 },
{ 4, 3, 2, 3, 2, 1, 2, 3, 2, 3 },
{ 5, 5, 3, 2, 4, 2, 1, 5, 3, 2 },
{ 3, 4, 5, 6, 2, 3, 5, 1, 2, 4 },
{ 2, 5, 4, 5, 3, 2, 3, 2, 1, 2 },
{ 3, 6, 5, 4, 5, 3, 2, 4, 2, 1 }
};
static String num="";
static int N;
static int answer;
public int solution(String numbers) {
answer = Integer.MAX_VALUE;
num=numbers;
N=numbers.length();
dfs(0,4,6,0);
return answer;
}
static void dfs(int depth, int L, int R, int sum){
if(depth==N){
answer = Math.min(answer,sum);
return;
}
int targetNumber = num.charAt(depth)-'0';
if(R!=targetNumber)dfs(depth+1,targetNumber,R,sum+cost[L][targetNumber] );
if(L!=targetNumber)dfs(depth+1,L,targetNumber,sum+cost[targetNumber][R] );
}
}
첨엔 이 방식으로 풀었음.
근데 이렇게 되면 완탐을 하고, 시간이 터짐
'프로그래머스' 카테고리의 다른 글
2차원 동전 뒤집기 (0) | 2023.08.25 |
---|---|
프로그래머스 (0) | 2023.08.22 |
프로그래머스 - 표현 가능한 이진 트리 (0) | 2023.08.21 |
프로그래머스 - 부대복귀 (0) | 2023.08.19 |
두 큐의 합 같게 만들기 (카카오 기출 level2) (0) | 2023.01.12 |
import java.util.*;
class Solution {
static int[][] cost = {
{ 1, 7, 6, 7, 5, 4, 5, 3, 2, 3 },
{ 7, 1, 2, 4, 2, 3, 5, 4, 5, 6 },
{ 6, 2, 1, 2, 3, 2, 3, 5, 4, 5 },
{ 7, 4, 2, 1, 5, 3, 2, 6, 5, 4 },
{ 5, 2, 3, 5, 1, 2, 4, 2, 3, 5 },
{ 4, 3, 2, 3, 2, 1, 2, 3, 2, 3 },
{ 5, 5, 3, 2, 4, 2, 1, 5, 3, 2 },
{ 3, 4, 5, 6, 2, 3, 5, 1, 2, 4 },
{ 2, 5, 4, 5, 3, 2, 3, 2, 1, 2 },
{ 3, 6, 5, 4, 5, 3, 2, 4, 2, 1 }
};
static String num="";
static int N;
static int answer;
public int solution(String numbers) {
answer = Integer.MAX_VALUE;
num=numbers;
N=numbers.length();
dfs(0,4,6,0);
return answer;
}
static void dfs(int depth, int L, int R, int sum){
if(depth==N){
answer = Math.min(answer,sum);
return;
}
int targetNumber = num.charAt(depth)-'0';
if(R!=targetNumber)dfs(depth+1,targetNumber,R,sum+cost[L][targetNumber] );
if(L!=targetNumber)dfs(depth+1,L,targetNumber,sum+cost[targetNumber][R] );
}
}
첨엔 이 방식으로 풀었음.
근데 이렇게 되면 완탐을 하고, 시간이 터짐
'프로그래머스' 카테고리의 다른 글
2차원 동전 뒤집기 (0) | 2023.08.25 |
---|---|
프로그래머스 (0) | 2023.08.22 |
프로그래머스 - 표현 가능한 이진 트리 (0) | 2023.08.21 |
프로그래머스 - 부대복귀 (0) | 2023.08.19 |
두 큐의 합 같게 만들기 (카카오 기출 level2) (0) | 2023.01.12 |