반응형
import java.io.*;
import java.util.*;
public class Main {
static int k;
static char[] sign;
static int[] num;
static ArrayList<String> list = new ArrayList<>();
static boolean[] visited = new boolean[10];
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
k = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
sign = new char[k];
num = new int[k+1];
for (int i = 0; i < k; i++)
sign[i] = st.nextToken().charAt(0);
bt(0);
Collections.sort(list);
System.out.println(list.get(list.size()-1));
System.out.print(list.get(0));
}
static void bt(int depth) {
if (depth == k+1) {
String sum = "";
for (int n : num)
sum += n;
list.add(sum);
return;
}
for (int i = 0; i < 10; i++) {
if (isPromissing(depth, i) && !visited[i]) {
visited[i] = true;
num[depth] = i;
bt(depth + 1);
visited[i] = false;
}
}
}
static boolean isPromissing(int depth, int i) {
if (depth == 0) return true;
if (sign[depth - 1] == '>')
return num[depth - 1] > i ? true : false;
else return num[depth - 1] < i ? true : false;
}
}
반응형
'Algorithm' 카테고리의 다른 글
백준 1010번 다리놓기 [ Java ] (0) | 2021.06.26 |
---|---|
2021 Summer Coding - 여름방학 스타트업 인턴 프로그램 코딩테스트 후기 (0) | 2021.05.26 |
백준 15661번 링크와 스타트 [ Java ] (0) | 2021.05.18 |
백준 1476번 날짜 계산 [ Java ] (0) | 2021.05.11 |
백준 11728번 배열 합치기 [ Java ] (0) | 2021.05.10 |