최대 1 분 소요

사용 언어: 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


  • 테스트 케이스: 통과
  • 제출 결과: 성공


💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기