선발대

[스파르타] 99클럽 2기 코테 스터디 1일차 TIL / 전화번호 목록 본문

스파르타코딩클럽/활동 내용

[스파르타] 99클럽 2기 코테 스터디 1일차 TIL / 전화번호 목록

신선한 스타트 2024. 5. 20. 23:14

프로그래머스: 전화번호 목록 (링크)

전화번호 목록

 

얼마 전에 99클럽 1기를 잘 마무리했는데 매일 알고리즘 한 문제씩 푸는 게 좋아서 이번에도 2기를 지원했다.

이번 기수에서는 TIL을 처음부터 꾸준히 써보려 한다. 화이팅!

 

해시 카테고리에 있는 문제이지만 해시를 이용하지 않고 풀 수 있는 문제였다.

처음에는 sort를 안 하고 이중 for문을 사용했었는데 그랬더니 효율성 테스트에서 시간 초과가 나왔다.

문제를 잘 읽어보면 말머리만 동일하면 바로 False를 출력하면 되므로,

sort로 리스트를 정렬하고 해당 요소와 바로 뒤의 요소만 비교하면 된다.

 

def solution(phone_book):
    answer = True
    phone_book.sort()
    for i in range(len(phone_book)-1):
        if phone_book[i] == phone_book[i+1][:len(phone_book[i])]:
            return False
    return answer
 
오늘의 미들러 풀이 끝!
Comments