#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
bool compare(string &s1,string &s2)
{
return s1.size() < s2.size();
}
bool solution(vector<string> phone_book) {
bool answer = true;
sort(phone_book.begin(), phone_book.end());
for(int i=0;i<phone_book.size()-1;i++) {
int len = phone_book[i].length();
if(phone_book[i+1].substr(0,len) == phone_book[i]) return false;
// cout << phone_book[i] << endl;
}
return answer;
}
Javascript를 지원하지 않는 문제여서 c++로 문제를 해결했다. 전화번호 목록을 sorting한 뒤에 바로 다음 값이랑만 비교를 했다. 이게 가능한 이유는 접두어가 같은 숫자가 있으면 무조건 다음에 위치하는 게 확실하기 때문이다.