Programmers - 전화번호 목록(Lv2)

108번뇌·2020년 9월 17일

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

using namespace std;

bool solution(vector<string> phone_book) {
    bool answer = true;
    
    int BK =  phone_book.size();
    sort(phone_book.begin(), phone_book.end());
    
    for(int i=0; i<BK ; i++)
    {
        for(int j=0; j<BK; j++)
        {
            if(i == j)
            {
                continue;
            }
            if(phone_book[i] == phone_book[j].substr(0,phone_book[i].size()))
            {
                answer = false;
                return answer;
            }
        }
    }
    return answer;
}

https://modoocode.com/235에서
substr 함수에 대한 역할이 나옴.
#include
basic_string substr(size_type pos = 0, size_type count = npos) const;

매개변수 1 : 디폴트 0으로 들어가서 처음 위치;
매개변수 2 : 처음으로부터 + @@ 에서 @@;
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

#include <string>
#include <vector>
#include <algorithm>
using namespace std;


bool cmp(string a, string b)
{
    return a<b;
}

bool solution(vector<string> phone_book) {
    bool answer = true;
    
    sort(phone_book.begin(), phone_book.end(), cmp);//정렬한번하고
    
    for(int i=0; i<phone_book.size()-1; i++)
    {
       if(phone_book[i+1].find(phone_book[i])==0)
       {
           answer = false;
            return answer;
       }
    }
    
    return answer;
}

find 이용하기. string.find(찾을내용)
찾는거있으면 0반환
찾는거없으면 1반환

profile
내일 아침 눈을 떳을 때, '기대되는 오늘 하루를 만들기 위해' 나는 오늘도 생각하고 고민한다.

0개의 댓글