반응형
#접근방법
- 문자열을 담고 있는 벡터를 sort 해준다.
- 접두어는 현재 벡터 문자열 이전의 문자열이기 때문에 "v[i].find(v[i - 1])" 의 코드를 통해 체크해준다.
- 만약 0이라면 접두어라는 의미이며 0이 아니라면 접두어가 아니라는 뜻이다.
* 0의 의미는 해당 문자열을 찾았을 때 시작 인덱스 번호를 뜻함.
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
int main() {
int n; cin >> n;
while (n--) {
int number; cin >> number;
string result = "YES";
vector <string> vs;
for (int i = 0; i < number; i++) {
string s; cin >> s;
vs.push_back(s);
}
sort(vs.begin(), vs.end());
for (int i = 1; i < number; i++) {
if (vs[i].find(vs[i - 1]) == 0) {
result = "NO";
break;
}
}
cout << result << "\n";
}
}
https://www.acmicpc.net/problem/5052
반응형
'백준 > 구현' 카테고리의 다른 글
[백준 18870번 / C++] 좌표 압축 (0) | 2022.03.24 |
---|---|
[백준 4948번 / C++] 베르트랑 공준 (0) | 2022.03.17 |
[백준 1759번 / C++ ] 암호 만들기 (0) | 2022.02.14 |
[백준 3474번 / C++] 교수가 된 현우 (0) | 2022.02.10 |
[백준 3986번 / C++] 좋은 단어 (0) | 2022.01.24 |
댓글