본문 바로가기

알고리즘/프로그래머스

[PG / C++] 프로그래머스 전화번호 목록

https://school.programmers.co.kr/learn/courses/30/lessons/42577

문제

 


풀이

전화번호의 형식이 string이므로, find 함수를 사용하면 포함여부를 확인할 수 있다.

접두어인 경우만 확인해야하므로 정렬한 후에 수행한다. 

 

.find() 메서드의 경우, 해당 문자/문자열이 있으면 시작하는 인덱스를 반환한다.

접두어라면 0을 반환할 것이므로, 0인 경우에만 false로 값을 변경한다. 

#include <bits/stdc++.h>
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+1].find(phone_book[i])){
            answer = false;
            return answer;
        }
    }
    
    return answer;
}

 

반응형