August 01, 2020
map을 안쓰고 간단하게 풀 수 있지만, 문제 의도에 최대한 맞춰서 풀려고 노력했다.
#include <string>
#include <vector>
#include <map>
using namespace std;
bool solution(vector<string> phone_book) {
bool answer = true;
map<string, int> m;
int size1 = phone_book.size();
for (int i = 0; i < size1; ++i)
m[phone_book[i]]++;
map<string, int> ::iterator iter1;
map<string, int> ::iterator iter2;
for (iter1 = m.begin(); iter1 != m.end(); ++iter1) {
string temp = iter1->first;
for (iter2 = m.begin(); iter2 != m.end(); ++iter2) {
if (iter2 == iter1)continue;
if (iter2->first.find(temp) == 0){
answer = false;
break;
}
}
if(answer==false)break;
}
return answer;
}