본문 바로가기

PS

[BOJ] 1141번 : 접두사

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

 

1141번: 접두사

접두사X 집합이란 집합의 어떤 한 단어가, 다른 단어의 접두어가 되지 않는 집합이다. 예를 들어, {hello}, {hello, goodbye, giant, hi}, 비어있는 집합은 모두 접두사X 집합이다. 반면에, {hello, hell}, {giant,

www.acmicpc.net

 

 

문제 파악

 

문제의 의도는 A라는 문자가 B라는 문자의 접두사가 되는가 파악해서

접두사가 되지 않는 문자들의 개수를 출력하면 된다.

 

더보기
import java.util.*;
import java.io.*;
public class Main{

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int cnt = 0;

        int N = Integer.parseInt(br.readLine());
        ArrayList<String> list = new ArrayList<>();

        for(int idx = 0; idx<N;idx++)
        {
            String s = br.readLine();
                list.add(s);
        }

        Collections.sort(list, new Comparator<String>(){
            public int compare(String s1, String s2){
                    return s1.length()-s2.length();
            }
        });

        for(int idx1 = 0; idx1<N;idx1++)
        {
            boolean check = false;
            for(int idx2 = idx1+1;idx2<N;idx2++){
                String m = list.get(idx1);
                String s = list.get(idx2);

                if(s.startsWith(m)){
                    check = true;
                    break;
                }
            }

            if(!check){
                cnt++;
            }
        }
        System.out.println(cnt);
    }
}

 

'PS' 카테고리의 다른 글

[Programmers] LV2 - 짝지어 제거하기  (0) 2021.06.30
[Programmers] LV2 - 영어 끝말잇기  (0) 2021.06.29
[Programmers]LV3 - 길 찾기 게임  (0) 2021.06.27
[Programmers] LV2 - 캐시  (0) 2021.06.27
[Programmers] LV2 - 큰 수 만들기  (0) 2021.06.26