본문 바로가기
코딩테스트

[백준] 5052번 '전화번호 목록' - Java

by CuckooBird 2023. 8. 19.

https://www.acmicpc.net/problem/5052

 

5052번: 전화번호 목록

첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가

www.acmicpc.net


문제


코드

import java.io.*;
import java.util.*;

public class Main {
	private static final BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
	private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
	
	public static void main(String[] args) throws IOException {
		int t = Integer.parseInt(bf.readLine());
		
		while(t > 0) {
			t--;
			boolean flag = true;
			
			int n = Integer.parseInt(bf.readLine());
			
			String[] arr = new String[n];
			
			for(int i = 0 ; i < n ; i++) {
				arr[i] = bf.readLine();
			}
			
			Arrays.sort(arr);
			for(int i = 0 ; i < n - 1 ; i++) {
				if(arr[i + 1].startsWith(arr[i])) {
					flag = false;
					break;
				}
			}
			
			if(flag) {
				bw.write("YES\n");
			} else {
				bw.write("NO\n");
			}
		}
		
		bf.close();
		bw.flush();
		bw.close();
	}
}