-
[🥲 프로그래머스] 전화번호 목록 - hashAlgorithm/1일 1코테 2021. 7. 22. 20:47반응형
https://programmers.co.kr/learn/courses/30/lessons/42577
코딩테스트 연습 - 전화번호 목록
전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조
programmers.co.kr
✅ 내가 푼 풀이
# 시간 초과 def solution(phone_book): phone_book.sort() # 시간단축을 위한 정렬 for i, v in enumerate(phone_book): for j in range(i+1, len(phone_book)): if phone_book[j].startswith(v): # v로 시작하면 false return False return True
✅ 다른 사람 풀이
def solution(phone_book): answer = True hash_map = {} for phone_number in phone_book: hash_map[phone_number] = 1 for phone_number in phone_book: temp = "" for number in phone_number: temp += number if temp in hash_map and temp != phone_number: # 본인이 아니면서 hash_map에 있으면 answer = False return answer
def solution(phone_book): phone_book.sort() for i, j in zip(phone_book, phone_book[1:]): if j.startswith(i): return False return True
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[🥲 프로그래머스] 베스트앨범 - hash (0) 2021.07.24 [🥲 프로그래머스] 위장 - hash (0) 2021.07.23 [😍 프로그래머스] 완주하지 못한 선수 - hash (0) 2021.07.22 [😍 프로그래머스-카카오인턴] 키패드 누르기 (0) 2021.07.22 [🥲 프로그래머스] 등굣길 - Dynamic programming (0) 2021.07.21