C++)프로그래머스 전화번호 목록

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;
}

Written by@Jeonghoon Song
BFS보단 DFS를 하는 개발자가 되자

GitHub