-
전화번호 목록 - 5052Algorithm/BOJ 2020. 3. 12. 19:56123456789101112131415161718192021222324252627282930313233343536373839404142//5052 - 전화번호 목록#include <iostream>#include <vector>#include <algorithm>using namespace std;int N;vector<string> arr;void init(){cin >> N;arr = vector<string>(N);for(int i = 0; i<N; ++i)cin >> arr[i];sort(arr.begin(), arr.end());}int main(){ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);int C; cin >> C;for(int tn = 0; tn<C; ++tn){init();bool flag = true;for(int i = 0; i<N-1; ++i)if(arr[i].size() < arr[i+1].size()){string s = arr[i+1].substr(0, arr[i].size());if(arr[i] == s){flag = false; break;}}if(flag)cout << "YES" << "\n";elsecout << "NO" << "\n";}}
cs https://www.acmicpc.net/problem/5052
5052번: 전화번호 목록
문제 전화번호 목록이 주어진다. 이때, 이 목록이 일관성이 있는지 없는지를 구하는 프로그램을 작성하시오. 전화번호 목록이 일관성을 유지하려면, 한 번호가 다른 번호의 접두어인 경우가 없어야 한다. 예를 들어, 전화번호 목록이 아래와 같은 경우를 생각해보자 긴급전화: 911 상근: 97 625 999 선영: 91 12 54 26 이 경우에 선영이에게 전화를 걸 수 있는 방법이 없다. 전화기를 들고 선영이 번호의 처음 세 자리를 누르는 순간 바로 긴급전화가
www.acmicpc.net
전화번호 목록
전화번호들을 사전순으로 정렬한다음 인접한 전화번호끼리 일관성을 확인해주면 됩니다.
'Algorithm > BOJ' 카테고리의 다른 글
최솟값과 최댓값 - 2357 (0) 2020.03.13 퀘스트 중인 모험가 - 15816 (0) 2020.03.13 최종 순위 - 3665 (0) 2020.03.12 최소비용 구하기 2 - 11779 (0) 2020.03.12 열쇠 - 9328 (0) 2020.03.12