[プログラマー]ハッシュ(Hash)電話番号リストJava
8894 ワード
[Algo Rhythm🕺💃]
難易度:レベル2
電話帳の電話番号の中に、別の番号のプレフィックスがあるかどうかを確認します.電話番号が次の場合:救助隊:119 朴俊英:9767423 池霊石:119552421 電話帳の電話番号が電話番号の配列phone bookをソリューション関数のパラメータとする場合、ある番号が別の番号の接頭辞である場合は、falseでない場合はtrueを返します.
phone bookの長さは1000000を超えない.
各電話番号の長さは1または20以下です.
前に述べたように.
答えはtrueです.1つの番号が別の番号の接頭辞ではないからです.
1番目の電話番号「12」は、2番目の電話番号「123」のプレフィックスである.だから、答えはfalseです.
outer for文:配列全体を検索すると、各配列は標準値になります.
Inner for Moon:アレイ全体を検索するときに比較します.
接頭辞の比較
3.1外部が文であり、内部が文であるインデックスが同時に続く.
3.2基準値の文字列長が比較対象の文字列長より大きい場合、続行する.
3.3所定の条件を満たす場合、returnfalse
失敗した場合、例外を考え出すことが大切らしい.
残念なことにHash問題は、Hashで解決されていません!:-)
難易度:レベル2
1.質問
|問題の説明
電話帳の電話番号の中に、別の番号のプレフィックスがあるかどうかを確認します.電話番号が次の場合:
|制限
phone bookの長さは1000000を超えない.
各電話番号の長さは1または20以下です.
|I/O例
|I/O例説明
I/O例#1
前に述べたように.
I/O例#2
答えはtrueです.1つの番号が別の番号の接頭辞ではないからです.
I/O例#3
1番目の電話番号「12」は、2番目の電話番号「123」のプレフィックスである.だから、答えはfalseです.
2.最終アルゴリズムby Yoon
outer for文:配列全体を検索すると、各配列は標準値になります.
Inner for Moon:アレイ全体を検索するときに比較します.
接頭辞の比較
3.1外部が文であり、内部が文であるインデックスが同時に続く.
3.2基準値の文字列長が比較対象の文字列長より大きい場合、続行する.
3.3所定の条件を満たす場合、returnfalse
3.ソースコード
1)初回試行(失敗)
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
for(int i = 0; i < phone_book.length; i++){
for(int j = 0; j < phone_book.length; j++){
if(i == j) continue;
if(phone_book[j].substring(0, phone_book[i].length()).equals(phone_book[i])){
return false;
}
}
}
return answer;
}
}
合計:30.8/100.0
2)2回目の試み(成功)
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
for(int i = 0; i < phone_book.length; i++){
for(int j = 0; j < phone_book.length; j++){
if(i == j) continue;
if(phone_book[i].length() > phone_book[j].length()) continue;
if(phone_book[i].equals(phone_book[j].substring(0, phone_book[i].length()))){
return false;
}
}
}
return answer;
}
}
4.感じ
失敗した場合、例外を考え出すことが大切らしい.
残念なことにHash問題は、Hashで解決されていません!:-)
Reference
この問題について([プログラマー]ハッシュ(Hash)電話番号リストJava), 我々は、より多くの情報をここで見つけました https://velog.io/@yoonjy1106/프로그래머스-해시Hash-전화번호-목록-자바Javaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol