가티있는블로그

[프로그래머스] 전화번호 목록

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