프로그래밍/코딩테스트 문제
[프로그래머스] 전화번호 목록
가티(佳T)
2019. 9. 14. 20:14
프로그래머스에서 전화번호 목록 문제를 해결했다.
이전 문제 완주하지 못한 선수 문제와 유사해서 비슷한 방식으로 해결할 수 있었다.
정렬한 후 뒤의 string이 앞 string 보다 짧을 경우 substr을 이용하여 접두어를 찾았다.
#include <string>
#include <vector>
#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].length() < phone_book[i + 1].length()) {
if (phone_book[i] == phone_book[i + 1].substr(0, phone_book[i].length())) {
answer = false;
break;
}
}
}
return answer;
}