Lv.2 문제로 해시 카테고리에 있는 문제입니다.
휴대폰 번호를 key로, 1을 value로 unordered_map에 넣은 후, 각 휴대폰 번호의 접두어가 될 수 있는 string을 key로 하여 value가 1인지 확인하였습니다.
#include <string>
#include <vector>
#include <algorithm>
#include <unordered_map>
using namespace std;
bool solution(vector<string> phone_book) {
bool answer = true;
unordered_map<string,int> phones;
for(auto a:phone_book)
{
phones.insert({a,1});
}
for(auto phone : phone_book)
{
for(int i=1;i<phone.size();i++)
{
if(phones[phone.substr(0,i)] == 1)
return false;
}
}
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스-코딩테스트 고득점Kit] 기능개발 (0) | 2022.04.24 |
---|---|
[프로그래머스-코딩테스트 고득점Kit] 완주하지 못한 선수 (0) | 2022.04.16 |