전화번호 목록
코딩테스트 연습 > 해시 > 전화번호 목록
문제 설명
전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.
|
제한 사항
|
입출력 예제
phone_book | return |
["119", "97674223", "1195524421"] | false |
["123","456","789"] | true |
["12","123","1235","567","88"] | false |
입출력 예 설명
입출력 예 #1 앞에서 설명한 예와 같습니다. 입출력 예 #2 한 번호가 다른 번호의 접두사인 경우가 없으므로, 답은 true입니다. 입출력 예 #3 첫 번째 전화번호, “12”가 두 번째 전화번호 “123”의 접두사입니다. 따라서 답은 false입니다. |
코드
#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 idx = 0 ; idx < (int)phone_book.size() - 1 ; idx++ ) {
if( phone_book[idx] == phone_book[idx + 1].substr(0, phone_book[idx].length()) ) {
answer = false;
break;
}
}
return answer;
}
결과
끝.
'IT > programming' 카테고리의 다른 글
[C++] 프로그래머스, 베스트앨범 (0) | 2022.02.23 |
---|---|
[C++] 프로그래머스, 더 맵게 (2) | 2022.02.16 |
[PYTHON] 유효한 날짜 포맷 확인 / 정규식, re (6) | 2022.01.28 |
[PYTHON] nested JSON 변환 / comparing two nested JSON (2) | 2022.01.27 |
[PYTHON] 유효한 날짜 포맷 확인 / datetime (1) | 2022.01.27 |
댓글