전화번호를 key로 갖고 1을 value로 갖는 해시테이블 생성접두사 1개부터 단어 길이만큼 잘라가며 해시테이블에 있는지 확인#include <string>
#include <vector>
#include <map>
using namespace std;
bool solution(vector<string> phone_book) {
bool answer = true;
// 해시테이블 생성
map<string, int> m;
// key로 전화번호, 값으로 1 저장
for(int i = 0; i < phone_book.size(); i++) {
m[phone_book[i]]++;
}
// 각 단어 확인
for(int i = 0; i < phone_book.size(); i++) {
// 단어에서 접두사 자르기
for (int j = 1; j < phone_book[i].size(); j++) {
// 접두사가 해시테이블에 있을 때
if(m[phone_book[i].substr(0, j)]) return false;
}
}
return answer;
}