-
[프로그래머스] 전화번호 목록알고리즘 2023. 6. 29. 13:54728x90
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/42577
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 접근
1. 처음에는 전화번호 목록에 있는 번호들을 element들의 길이를 통해서 먼저 정렬을 하여서 2중 반복문으로 비교를 하려고 했다
-> 다 되는데 효율성 테스트 3,4번이 시간초과가 났다
2. 다시 생각해보니까 element의 길이를 통한 정렬보다는 그냥 바로 정렬을 하면 되었다
3. 그러면 앞의 내용이 유사하게 정렬되므로 for문 한개면 된다.
3. 풀이
# 처음에 틀린 코드 def solution(phone_book): phone = sorted(phone_book, key= lambda x:len(x)) for i in range(len(phone)-1): if phone[i] == phone[i+1][:len(phone[i])]: return False return True # 맞는 코드 def solution(phone): phone.sort() for i in range(len(phone)-1): if phone[i] == phone[i+1][:len(phone[i])]: return False return True
'알고리즘' 카테고리의 다른 글
[프로그래머스] 방문 길이 (0) 2023.07.09 [프로그래머스] 의상 (0) 2023.07.08 [프로그래머스] 튜플 (0) 2023.06.29 [프로그래머스] 점프와 순간 이동 (0) 2023.06.29 [프로그래머스] 영어 끝말잇기 (0) 2023.06.28