본문 바로가기
IT/알고리즘

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

by 깻잎쌈 2020. 11. 19.
반응형

 

programmers.co.kr/learn/courses/30/lessons/42577

 

코딩테스트 연습 - 전화번호 목록

전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조

programmers.co.kr

 

 

#include <string>
#include <vector>

using namespace std;

bool solution(vector<string> phone_book) {
    bool answer = true;
      bool same = true;
    
    for(int i = 0;i<phone_book.size();i++){
        if(!answer) break;
          for(int j = i+1; j<phone_book.size(); j++)
            if(phone_book[j].size() < phone_book[i].size()){
                same = true;
               for(int k = 0; k<phone_book[j].size(); k++)
                   if( phone_book[i][k] != phone_book[j][k])
                       same = false;
               if(same){
                      answer = false;
                   break;
               }
            }
            else if(phone_book[j].size() == phone_book[i].size() && phone_book[j] == phone_book[i] )
                 answer = true;           
           else{
               same = true;
               for(int k = 0; k<phone_book[i].size(); k++)
                   if( phone_book[i][k] != phone_book[j][k])
                       same = false;
               if(same){
                      answer = false;
                   break;
               }
                
           }
    }
      
            
    return answer;
}

 

문제는 어려운 게 아닌데 해시로 안품 

다른 풀이 봐야겠다,.

반응형

댓글