아자아자 화이팅이닷 !

231030 프로그래머스 문제풀기 본문

TIL

231030 프로그래머스 문제풀기

유초23 2023. 11. 1. 18:29
728x90

저번에 이어서

<해시> 주제의

 

* 전화번호 목록 문제는

 

def solution(phone_book):
    rev = []
    for i in phone_book[::-1]:
        rev.append(i)
    for a,b in zip(phone_book,rev):
        for j in phone_book:

 

이런식으로 풀어보려고 했는데

뭔가 코드를 짜면 짤수록 이상해져서 포기해따 ... 됴륵 ....

아악 !!!!!!!!!!!!!! 머리아파 !!!!!!!!!!!

 

또 힌트에 졌다 ...............

됴륵 ..........

 

이 문제를 푼 코드는 이렇다.

def solution(phone_book):
    phone_book.sort()
    for i in range(len(phone_book)-1):
        if phone_book[i] < phone_book[i+1]:
            if phone_book[i+1][:len(phone_book[i])] == phone_book[i]:
                return False
                break
    return True

 

더 간결한 코드가 있는데,

 

def solution(phoneBook):
    phoneBook = sorted(phoneBook)

    for p1, p2 in zip(phoneBook, phoneBook[1:]):
        if p2.startswith(p1):
            return False
    return True

 

여기에서 PhoneBook[1:]과 비교하는게 잘 이해가 안간다 ㅠ

 

왜 PhoneBook[1:]이지 .......

이것도 물어봐야겠다 ㅠ

728x90