대단한 동현 블로그

https://school.programmers.co.kr/learn/courses/30/parts/12077

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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

using namespace std;

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

생각보다 오래 걸렸다. 효율성 3, 4번에서 계속 시간초과가 났는데, 생각해 보니 이중 반복문을 돌 필요 없이 sort 함수에서 아스키 순으로 정렬을 해 주므로 반복문 하나에서 붙어있는 아이끼리만 비교해 주면 되었다. 어이없당..

profile

대단한 동현 블로그

@donghyk2

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!