본문 바로가기

알고리즘/BAEKJOON

5052 전화번호 목록

5052번: 전화번호 목록 (acmicpc.net)

 

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
	}

}

'알고리즘 > BAEKJOON' 카테고리의 다른 글

3190 뱀  (0) 2021.08.03
1021 회전하는 큐  (0) 2021.07.31
1541 잃어버린 괄호  (0) 2021.07.28
9375 패션왕 신해빈  (0) 2021.07.28
10773 제로  (0) 2021.07.24