ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 해시 > 전화번호 목록
    프로그래머스(Programmers) 2018. 9. 30. 18:01
    반응형

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


    1. 문제

    정렬하여 인접한 배열 원소를 만들어서 이전에 문자와 현재 문자사이에 이전 문자열이 원소로 있다면 접두사를 갖는다는 의미로 처리하는 문제.


    119, 2121212, 1119114 와 같은 문자열 벡터가 있다면 정렬 후에는


    119, 1119114, 2121212 형태로 정렬 된다.


    2. 알고리즘

    키워드 - 해시, 정렬


    3. 코드


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <iostream>
    #include <string>
    #include <vector>
    #include <algorithm>
    #include <map>
    using namespace std;
    bool solution(vector<string> phoneBook) {
        bool answer = true;
        
        int size = phoneBook.size();
        
        // vector list 정렬 하여 인접한 순서대로 나오게 한다.
        sort(phoneBook.begin(), phoneBook.end());
     
        for ( int i=1; i < phoneBook.size(); i++ ) {
            // 현자 문자열에서 이전의 문자열이 원소로 있다면 접두사를 갖는다는 의미로 처리 한다.
            if ( phoneBook[i-1== phoneBook[i].substr(0, phoneBook[i-1].size()) ) {
                answer = false;
                break;
            }
        }
        
        return answer;
    }
    cs



    반응형

    '프로그래머스(Programmers)' 카테고리의 다른 글

    힙(Heap) > 더 맵게  (0) 2018.09.30
    정렬 > H-Index  (0) 2018.09.30
    스택/큐 > 주식가격  (0) 2018.09.26
    스택/큐 > 쇠막대기  (0) 2018.09.26
    스택/큐 > 탑  (0) 2018.09.26

    댓글

Designed by Tistory.