[プログラマー]ハッシュ-電話番号リスト
4444 ワード
プログラマ-電話番号リスト
問題の説明
電話帳の電話番号のうち、1つの番号が別の番号の接頭辞であることを確認します.
接頭辞がある場合はtrueを返し、そうでない場合はfalseを返します.
せいげんじょうけん
phone bookの長さは1以上1000000以下です.
各電話番号の長さは1以上20以下である.
問題を解く
phone bookをソートし、その後の値の接頭辞であることを確認します.
辞書順に並べられているので、次の値を確認するだけです.
コード#コード#
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
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;
break;
}
}
return answer;
}
時間の複雑さ
O(nlogn)
解答時のコメントサイト
mapコンテナのクリーンアップと使用方法
vectorコンテナのクリーンアップと使用方法
Reference
この問題について([プログラマー]ハッシュ-電話番号リスト), 我々は、より多くの情報をここで見つけました https://velog.io/@emily0_0/프로그래머스-해시-전화번호-목록テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol