Algorithm/정렬(Sort)
[백준 11656번] 접미사 배열 (Java 풀이)
agility
2020. 3. 1. 15:19
백준알고리즘 11656번 : 접미사 배열
주어진 문자열의 접미사를 모두 출력하되, 알파벳순으로 정렬하여 출력하는 문제이다.
Split method를 이용해 받은 문자열을 배열에 담고,
이와 똑같은 배열을 하나 만들고 난 뒤 이중 for문을 돌려 접미사 배열을 생성해준다.
Arrays.sort method를 이용해 정렬한 뒤 출력한다.
풀이 과정
1. Split으로 문자 하나하나를 String 배열에 담는다.
2. 1번과 똑같은 String 배열을 만든 뒤, 1번의 것들을 순차적으로 더하여 접미사를 생성한다.
3. Arrays.sort를 이용하여 배열을 정렬한 뒤 출력한다.
소스 ▽
더보기
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) { // 11656번 접미사 배열
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] S = str.split("");
String[] sum = S;
for (int i = 0; i < S.length; i++) {
for (int j = i + 1; j < S.length; j++) {
sum[i] += S[j];
}
}
Arrays.sort(sum);
for (int i = 0; i < sum.length; i++) {
System.out.println(sum[i]);
}
}
}