[プログラマー]電話番号リスト
6599 ワード
質問リンク
https://programmers.co.kr/learn/courses/30/lessons/42577?language=java
📂 ぶんかつ
문자열
정렬
💡 に答える
電話番号配列を並べ替える場合、パラメータはstringなので大きさ順ではなくアルファベット順で並べ替えることができます.
これは、現在の値が次の値の接頭辞に含まれているかどうかを確認するための問題です.
配列を
["31", "13", "123", "3123145"]
と仮定します.指定された配列をソートする場合、
["123", "13", "31", "3123145"]
などの辞書順にソートされます.したがって、
phone_book
をソートし、for文を使用してphone_book[i]
にphone_book[i + 1]
が含まれているかどうかを確認することができる.💻 コード#コード#
cpp
コード#include <bits/stdc++.h>
using namespace std;
bool solution(vector<string> phone_book) {
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].length()))
return false;
}
return true;
}
java
コードimport java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
Arrays.sort(phone_book);
for (int i = 0; i < phone_book.length - 1; i++) {
if (phone_book[i + 1].startsWith(phone_book[i]))
return false;
}
return true;
}
}
ジャワに変えるために、ジャワで解き始めました.Reference
この問題について([プログラマー]電話番号リスト), 我々は、より多くの情報をここで見つけました https://velog.io/@sh96/프로그래머스-전화번호-목록テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol