電話番号リスト/ハッシュ-プログラマ

2375 ワード

問題の説明


電話帳の電話番号の中に、別の番号のプレフィックスがあるかどうかを確認します.
電話番号が次の場合:
救助隊:119
朴俊英:97674223
池英錫:119552421
電話帳の電話番号が電話番号の配列phone bookをソリューション関数のパラメータとする場合、ある番号が別の番号の接頭辞である場合は、falseでない場合はtrueを返します.

せいげんじょうけん


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です.

ソリューション

"""
interpret
1 한 번호가 다른 번호의 접두어인 경우 확인해서 true일 경우 false 그렇지 않으면 true를 리턴
2 phonebook에 한번이라도 접두어 사용이 있는 경우 false

tools  
- sort, array, loop, len

method
1 check each element to next element in array
2 if exists return false if not keep checking and if none exists then true 
"""
def solution(phone_book):
    phone_book.sort()
    for a in range(len(phone_book)-1):
        if phone_book[a] in phone_book[a+1] :
            return False
    return True