프로그래머스 전화번호 목록
문제
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42577
풀이
string 배열을 정렬하면 접두어가 될경우 바로뒤에 정렬된다.
그러므로 for문을 이용해 substr
으로 뒤에 배열에서 앞에 배열크기만큼 비교해서 같을경우 접두어가 되는걸로 판별해 false
를 return해주도록 했다.
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
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++)
{
if (phone_book[i] == phone_book[i + 1].substr(0, phone_book[i].size()))
return false;
}
return answer;
}
댓글남기기