CHIqueen
프로그래머스 전화번호 목록 본문
https://programmers.co.kr/learn/courses/30/lessons/42577
처음에 풀때는 문자열의 접두어니까 startwith쓰면 되겠거니 해서 풀었다.
def solution(phone_book):
phone_book.sort()
for num1, num2 in zip(phone_book, phone_book[1:]):
if num2.startswith(num1):
return False
return True
하지만 이 문제의 분류는 해시 그러니까 해시로도 풀어보았다.
def solution(phone_book):
phone_book.sort()
ans = dict(zip(phone_book, [None]*len(phone_book)))
for num in reversed(phone_book):
for sli in list(map(len,phone_book)):
tmp = num[:sli]
if tmp in ans and tmp != num:
return False
return True
'프로그래밍 > Python' 카테고리의 다른 글
TJCTF 2020 Zipped Up (0) | 2020.05.27 |
---|---|
파이썬에서 dict로 Hash map을 만들때 hash()를 써야할까? (0) | 2020.04.24 |
UMDCTF Fragile Foundations (0) | 2020.04.23 |
python 자료형별 시간복잡도 (0) | 2020.04.11 |
백준 4344 평균은 넘겠지 한줄 풀이 (0) | 2020.04.09 |
Comments