-
해시 > 전화번호 목록프로그래머스(Programmers) 2018. 9. 30. 18:01반응형
https://programmers.co.kr/learn/courses/30/lessons/42577
1. 문제
정렬하여 인접한 배열 원소를 만들어서 이전에 문자와 현재 문자사이에 이전 문자열이 원소로 있다면 접두사를 갖는다는 의미로 처리하는 문제.
119, 2121212, 1119114 와 같은 문자열 벡터가 있다면 정렬 후에는
119, 1119114, 2121212 형태로 정렬 된다.
2. 알고리즘
키워드 - 해시, 정렬
3. 코드
123456789101112131415161718192021222324#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