-
[💕 프로그래머스 Python] 전화번호 목록Algorithm/1일 1코테 2020. 10. 21. 13:41반응형
프로그래머스 연습문제 2단계
<< 전화번호 목록>>
- python3
문제 설명
programmers.co.kr/learn/courses/30/lessons/42577
나의 풀이
# 채점결과 84.6 / 100.0 def solution(phone_book): for i in range(0,len(phone_book)-1): len_i = len(phone_book[i]) for j in range(i+1, len(phone_book)): if phone_book[i] in phone_book[j][:len_i]: return False return True
# 통과 def solution(phone_book): for i in phone_book: # 폰북에서 하나씩 출력 for j in range(len(phone_book)): # 0부터 시작해서 if i == phone_book[j]: # 같으면 pass하고 continue elif i == phone_book[j][:len(i)]: # 접두사면 return False # False return True # 아니면 True
다른사람 풀이
def solution(phoneBook): phoneBook = sorted(phoneBook) # 정렬 for p1, p2 in zip(phoneBook, phoneBook[1:]): if p2.startswith(p1): # p2의 시작하는 문자가 p1이면 return False # False return True
def solution(phone_book): answer = True hash_map = {} for phone_number in phone_book: hash_map[phone_number] = 1 # phone number를 딕셔너리 형태로 구현 for phone_number in phone_book: temp = "" for number in phone_number: # 한글자씩 출력 temp += number # 하나씩 더해줘서 if temp in hash_map and temp != phone_number: # temp가 hasmap 안에 있으면서 phone_number(본인)은 아닐때 출력 answer = False return answer
해쉬를 이용해서 푸는 문젠데 그냥 내맘대로 풂... 앞으론 어떤 방식으로 풀어야되는지 고민해보고 풀 것!
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[💕 프로그래머스 Python] 주식가격 (0) 2020.10.24 [🤷♀️ 프로그래머스 Python] 위장 (0) 2020.10.23 [💕 프로그래머스 Python] JadenCase 문자열 만들기 (0) 2020.10.20 [💕 프로그래머스 Python] 시저암호 (0) 2020.10.19 [💕 프로그래머스 Python] 2016년 (0) 2020.10.19