[프로그래머스] 전화번호 목록
[프로그래머스] 전화번호 목록
#include "header.h"
using namespace std;
bool cmp(string a, string b){
return a.length() < b.length();
}
bool solution(vector<string> phone_book) {
sort(phone_book.begin(), phone_book.end(), cmp);
for(int i=0; i<phone_book.size()-1; i++){
string target = phone_book[i];
for(int j=i+1; j<phone_book.size(); j++){
string cmp = phone_book[j];
int flag = 1;
for(int k=0; k<target.length(); k++){
if(cmp[k] != target[k]){
flag = 0;
break;
}
}
if(flag) return false;
}
}
return true;
}
- leetcode에서 비슷한 문제를 풀어봐서 그때랑 똑같이 풀었다.
- 가장 짧은 순서대로 정렬 한 다음에, 하나씩 다음 전화번호랑 비교한다.
- 하나라도 같지 않으면 flag = 0 해 주고 바로 break
- flag가 1이라면 false를 리턴한다. (찾은 경우)