프로그래머스Lv2 - 전화번호 목록

요리하는코더·2021년 10월 10일
0

알고리즘 - 문제

목록 보기
25/48
post-thumbnail
post-custom-banner

코드

#include <string>
#include <vector>
#include <algorithm>
#include <iostream>

using namespace std;

bool compare(string &s1,string &s2)
{
    return s1.size() < s2.size();
}

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++) {
        int len = phone_book[i].length();
        if(phone_book[i+1].substr(0,len) == phone_book[i]) return false;
        
        // cout << phone_book[i] << endl;
    }
    return answer;
}

풀이 및 소감

Javascript를 지원하지 않는 문제여서 c++로 문제를 해결했다. 전화번호 목록을 sorting한 뒤에 바로 다음 값이랑만 비교를 했다. 이게 가능한 이유는 접두어가 같은 숫자가 있으면 무조건 다음에 위치하는 게 확실하기 때문이다.

profile
요리 좋아하는 코린이
post-custom-banner

0개의 댓글