[완전탐색] 백준 2529 부등호 JAVAAlgorithm2024. 4. 20. 16:26
Table of Contents
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class ES_11_2529 {
static String[] sign;
static int k;
static List<String> matchSignList = new ArrayList<>(); // 완성된 애들 넣어놓기
static boolean[] visited = new boolean[10];
// [완전탐색] 백준 2529 부등호 JAVA
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
k = Integer.parseInt(br.readLine());
sign = br.readLine().split(" ");
for (int i = 0 ; i < 10 ; i++) {
if (!visited[i]) {
dfs(i, 0, i+"");
}
visited = new boolean[10];
}
System.out.println(matchSignList.get(matchSignList.size()-1));
System.out.println(matchSignList.get(0));
}
private static void dfs(int num, int signIdx, String finalNumStr) {
if (finalNumStr.length() == k+1) {
matchSignList.add(finalNumStr);
return;
}
visited[num] = true;
String nowSign = sign[signIdx];
for (int i = 0 ; i < 10 ; i++) {
if (!visited[i]) {
if ((nowSign.equals(">") && num > i) || (nowSign.equals("<") && num < i)){
dfs(i, signIdx+1, finalNumStr+i);
}
}
}
visited[num] = false;
}
}
'Algorithm' 카테고리의 다른 글
[완전탐색] 백준 1189 컴백홈 JAVA (0) | 2024.04.30 |
---|---|
[구현] 백준 1205 등수구하기 JAVA (0) | 2024.04.27 |
[그리디] 백준 11047 동전0 JAVA (1) | 2024.04.20 |
[구현] 백준 8979 올림픽 JAVA (1) | 2024.04.19 |
[완전탐색] 백준 1182 부분수열의 합 JAVA (전위순회) (0) | 2024.04.18 |