알고리즘/BAEKJOON
5052 전화번호 목록
LudaStar
2021. 7. 28. 20:26
5052번: 전화번호 목록
첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가
www.acmicpc.net
package String;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Baekjoon_5052_전화번호목록 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for(int tc = 0; tc < T; tc++) {
int n = Integer.parseInt(br.readLine());
String[] str = new String[n];
for(int i = 0; i < n; i++) {
str[i] = br.readLine();
}
Arrays.sort(str);
boolean flag = true;
for(int i = 0; i < n - 1; i++) {
int now = str[i].length();
int next = str[i+1].length();
if(now < next) {
// str[i+1]에 str[i]의 위치 반환, 없으면 -1 반환!
if(str[i+1].indexOf(str[i]) == 0) {
flag = false;
break;
}
}
}
if(flag)
System.out.println("YES");
else
System.out.println("NO");
} // tc for
}
}