[프로그래머스] 전화번호 목록
사용 언어: Python3, Java
문제
나의 풀이
Python3
def solution(phone_book):
# 접두어인 경우가 있으면 false, 아니면 true
phone_book.sort(key=len)
for i in range(len(phone_book)):
for j in range(i+1, len(phone_book)):
if len(phone_book[i]) == len(phone_book[j]):
continue # 같은 전화번호가 중복해서 들어있지 않습니다.
if phone_book[i] not in phone_book[j]:
continue
# phone_book[i]가 접두어인지 확인 (비교 대상은 phone_book[j])
if phone_book[i] == phone_book[j][:len(phone_book[i])]:
return False
return True
- 테스트 케이스: 통과
- 제출 결과: 시간 초과
Java
- 테스트 케이스: 통과
- 제출 결과: 통과
다른 풀이
Python
def solution(phone_book):
phone_book.sort()
for i in range(len(phone_book) - 1):
if len(phone_book[i]) < len(phone_book[i + 1]):
if phone_book[i + 1][:len(phone_book[i])] == phone_book[i]:
return False
return True
- 테스트 케이스: 통과
- 제출 결과: 성공
Java
- 테스트 케이스: 통과
- 제출 결과: 성공
💛 개인 공부 기록용 블로그입니다. 👻