1. 문제 링크
2. 문제 및 입출력예제
3. 문제 풀이
1. N개의 전화번호를 입력받아 list에 넣는다.
2. list를 정렬한다. (문자열)
3. 비교 문자열보다 길이가 긴 경우에만 앞의 문자열만큼에서 같은지 판단한다.
3-1. 비교 문자열과 동일할 경우 일관성을 유지하지 못해 끝낸다.
4. 비교 문자열을 현재 문자열로 바꾼다.
5. 위의 과정을 반복하고 출력한다.
4. 코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
for(int t=0;t<T;t++) {
int N = Integer.parseInt(br.readLine());
ArrayList<String> list = new ArrayList<>();
for(int i=0;i<N;i++) {
list.add(br.readLine());
}
Collections.sort(list);
int len = 11;
String now = "";
boolean flag = false;
for(String s: list) {
if(s.length()>len && now.equals(s.substring(0,len))) {
flag = true;
break;
}
now = s;
len = now.length();
}
if(flag) {
sb.append("NO");
}
else {
sb.append("YES");
}
sb.append("\n");
}
System.out.println(sb);
}
}
'ALGORITHM' 카테고리의 다른 글
백준 1915 가장 큰 정사각형 (Java) (0) | 2023.06.09 |
---|---|
백준 11651 좌표 정렬하기 2 (Java) (0) | 2023.06.08 |
백준 1303 전쟁 - 전투 (Java) (0) | 2023.06.06 |
백준 1461 도서관 (Java) (0) | 2023.06.05 |
백준 11724 연결 요소의 개수 (Java) (0) | 2023.06.04 |