풀이
- 해당 문제는 입력된 문자열을 3등분으로 나누어
- 역순 시킨 문자열 중 사전순 가장 앞의 문자열을 출력하는 문제이기에
- 단순히 아래와 같이 해결.
import java.io.*;
import java.util.*;
public class 단어나누기 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String x = br.readLine();
Integer x_ln = x.length();
ArrayList<String> result = new ArrayList<>();
for (int i = 0; i < x_ln-2; i++) {
for (int j = i+1; j < x_ln-1; j++) {
for (int k = j+1; k < x_ln; k++) {
StringBuilder s1 = new StringBuilder(x.substring(0,i+1)).reverse();
StringBuilder s2 = new StringBuilder(x.substring(i+1,j+1)).reverse();
StringBuilder s3 = new StringBuilder(x.substring(j+1,x_ln)).reverse();
StringBuilder com = new StringBuilder();
com.append(s1).append(s2).append(s3);
result.add(com.toString());
}
}
}
Collections.sort(result);
System.out.println(result.get(0));
}
}
'알고리즘' 카테고리의 다른 글
[백준, 자바, 1440번] 타임 머신 (1) | 2024.01.09 |
---|---|
[백준, 파이썬, 1440번] 타임 머신 (0) | 2024.01.09 |
[백준, 파이썬, 1251번] 단어 나누기 (0) | 2024.01.08 |
[백준, 자바, 1392번] 노래 악보 (1) | 2024.01.08 |
[백준, 파이썬, 1392번] 노래 악보 (0) | 2024.01.08 |