728x90
https://www.acmicpc.net/problem/1141
풀이
[Programmers] 전화번호 목록 (JAVA) 과 비슷한 문제였다.
사전순으로 정리해준 다음 앞-뒤 문자끼리만 비교를 해줬다.
전체코드
package 백준renew;
import java.io.*;
import java.util.*;
public class 실버1_1141_접두사 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
String arr[] = new String[N];
for(int i=0; i<N; i++) {
arr[i] = br.readLine();
}
Arrays.sort(arr);
int ans = 1;
for(int i=1; i<N; i++) {
String word1 = arr[i-1];
String word2 = arr[i];
if(word2.length() >= word1.length()) {
if(word2.substring(0, word1.length()).equals(word1)) {
continue;
}
}
ans++;
}
sb.append(ans);
bw.write(sb.toString());
bw.close();
}
}
728x90
'코테 > Algorithm' 카테고리의 다른 글
[Programmers] 점프와 순간 이동 (JAVA) (0) | 2024.06.07 |
---|---|
[BOJ] 15652: N과 M(4) (JAVA) (0) | 2024.06.04 |
[Programmers] 모음사전 (JAVA) (0) | 2024.05.29 |
[BOJ] 20310: 타노스 (JAVA) (0) | 2024.05.23 |
[Programmers] 구명보트 (JAVA) (0) | 2024.05.22 |