풀이 과정
문자열을 정렬했을 때, 어떻게 정렬되는지 잘 확인해야 한다.
예를 들어 119, 97674223, 1195524421이라면 119, 1195524421, 97674223으로 정렬된다.
그래서 반복문을 돌려 앞뒤로만 접두어가 있는지 확인해주면 된다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
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++){
if(phone_book[i] == phone_book[i + 1].substr(0, phone_book[i].size())){
answer = false;
}
}
return answer;
}
'🍞 Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스][Level2] 짝지어 제거하기 c++ (0) | 2022.10.21 |
---|---|
[프로그래머스][Level2] 주차 요금 계산 c++ (0) | 2022.10.21 |
[프로그래머스][Level2] 올바른 괄호 c++ (0) | 2022.10.21 |
[프로그래머스][Level2] 땅따먹기 c++ (0) | 2022.10.21 |
[프로그래머스][Level2] 기능 개발 c++ (0) | 2022.10.21 |