728x90
[ 문제 ]
https://programmers.co.kr/learn/courses/30/lessons/42577
코딩테스트 연습 - 전화번호 목록
전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조
programmers.co.kr
[ 코드 ]
def solution(phone_book):
dic = {}
for num in phone_book:
dic[num] = 1 #기본 값
# 각 폰 번호에 대해
for n in phone_book: # ex. 123
str_num = ''
for i in n: # ex. 1/ 2/ 3
str_num += i
# 하나씩 자른게 딕셔너리에 있는지 확인 (단, 본인은 아닌거)
if (str_num in dic) and (str_num != n):
return False #처음에 answer=True 하고 return answer해도 되지만 이게 더 빠름
return True
반응형
'알고리즘' 카테고리의 다른 글
[ 정렬 ][ 파이썬 ] 프로그래머스 : k번째수 (0) | 2022.02.27 |
---|---|
[ 해시 ][ 파이썬 ] 프로그래머스 : 위장 (0) | 2022.02.27 |
[ 해시 ][ 파이썬 ] 프로그래머스 : 완주하지 못한 선수 (0) | 2022.02.26 |
[ greedy ][ 파이썬 ] 백준 11047 번 : 동전 0 (1) | 2022.02.23 |
[ greedy ][ 파이썬 ] 백준 11399 번 : ATM (0) | 2022.02.23 |