접미사 배열
접미사를 사전 순으로 배열하여 출력해야 한다.
substring을 이용하면 어렵지 않게 풀 수 있었다.
입력받은 문자열의 길이만큼 배열의 크기를 선언해 주었다.
int sLength = s.length();
String[] strArray = new String[sLength];
접미사 이기 때문에 앞에서부터 잘라서 배열에 넣어주면 되겠다는 생각을 하였다.
for(int i=0; i<sLength; i++) {
strArray[i] = s.substring(i, sLength);
}
substring(시작지점 인덱스, 끝 지점 인덱스)
사전순으로 정렬을 해야 하므로
배열을 사전순으로 정렬해 주는 sort를 이용하였다.
Arrays.sort(strArray);
반복문으로 출력을 해주었다.
for (String str : strArray) {
System.out.println(str);
}
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
int sLength = s.length();
String[] strArray = new String[sLength];
for(int i=0; i<sLength; i++) {
strArray[i] = s.substring(i, sLength);
}
Arrays.sort(strArray);
for (String str : strArray) {
System.out.println(str);
}
}
}
'알고리즘 탐구' 카테고리의 다른 글
백준) (자바)4153 직각삼각형 (0) | 2023.05.04 |
---|---|
백준) (자바)1085 직사각형에서 탈출 (0) | 2023.05.04 |
백준) (자바)4836 춤 (2) | 2023.05.02 |
프로그래머스) (자바) 직사각형 별 찍기 (0) | 2023.04.09 |
프로그래머스) (자바)핸드폰 번호 가리기 (0) | 2023.04.07 |