본문 바로가기
전공공부/코딩테스트

(c++) 백준 "1141)접두사"

by 시아나 2022. 6. 27.

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

 

1141번: 접두사

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

www.acmicpc.net


 

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
	int N; cin >> N;
	vector<string> list;
	for (int i = 0; i < N; i++) {
		string tmp; cin >> tmp;
		list.push_back(tmp);
	}
	sort(list.begin(), list.end());
	int count = 1;
	for (int i = 0; i < N-1; i++) {
		if (list[i].size() <= list[i + 1].size()) {
			string str = list[i + 1].substr(0,list[i].size());
			if (!list[i].compare(str)) {
				continue;
			}
		}
		count++;
	}
	cout << count << endl;
	return 0;
}