동까의 코딩

[99클럽] 1일차 TIL 본문

문제 풀이/99클럽

[99클럽] 1일차 TIL

동까의 코딩 2024. 5. 20. 22:42
반응형

 

TIL(Today I Learned)으로 최대한 꾸준히 써보려고 합니다.

2024.05.20 시작으로 6월말까지 진행합니다.

 

반은 3단계 중 중간 단계로 들어갔고, 비기너/미들러/챌린저로 나눠지고 나는 미들러로 참여하였습니다.

 

오늘 풀어본 문제는 프로그래머스에 전화번호 목록입니다.

 

https://school.programmers.co.kr/learn/courses/30/lessons/42577

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

전화번호가 시작부분이 겹치지 않는 것을 목표로 진행하였습니다.

해쉬 문제이므로 최대한 해쉬로 풀어보려고 노력하였습니다.

 

풀이 과정

def solution(phone_book):
    answer = True
    hashmap = {}
    for number in phone_book:
        hashmap[number] = 1
    
    for phone_number in phone_book:
        start_number = ""
        if not answer:
            break
        for number in phone_number:
            start_number += number
            if start_number in hashmap and start_number != phone_number:
                answer = False
                break
                
    return answer

 

해쉬맵에 값을 넣어주고, 하나씩 값을 추가해주고 비교하는 코드를 작성하였습니다.

중간에 접두사가 발견되면 바로 반복문을 종료시키고 False를 출력하게 됩니다.

반응형

'문제 풀이 > 99클럽' 카테고리의 다른 글

[99클럽] 6일차 TIL  (0) 2024.05.25
[99클럽] 5일차 TIL  (0) 2024.05.24
[99클럽] 4일차 TIL  (0) 2024.05.23
[99클럽] 3일차 TIL  (0) 2024.05.22
[99클럽] 2일차 TIL  (0) 2024.05.21