https://level.goorm.io/exam/195688/%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%82%98%EB%88%84%EA%B8%B0/quiz/1
구름LEVEL
난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.
level.goorm.io
내가 푼 풀이
이중 for문을 이용하여 0~i-1 / i~j-1 / j~n-1 로 나누어 set에 넣고 sorting한 다음 다시 index를 찾아낸다
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
HashSet<String> set = new HashSet<>();
int n = Integer.parseInt(br.readLine());
String input = br.readLine();
for(int i=1;i<n-1;i++){
for(int j=i+1;j<n;j++){
set.add(input.substring(0, i));
set.add(input.substring(i, j));
set.add(input.substring(j, n));
}
}
List<String> list = new ArrayList<>(set);
Collections.sort(list);
int max = 0;
for(int i=1;i<n-1;i++){
for(int j=i+1;j<n;j++){
int sum = list.indexOf(input.substring(0, i)) + list.indexOf(input.substring(i, j))+list.indexOf(input.substring(j, n)) + 3;
if(sum > max) max = sum;
}
}
System.out.println(max);
}
}