❗오늘의 학습 키워드
해시
❗ 공부한 내용
📌 코딩 테스트 문제 ?
📌 문제 풀이 프로세스
[1] 문제 이해
이 문제는 처음에 문제 이해에 실패했다.. .ㅜㅜ
정말 다르게 이해해놓고서는 코딩을 하는 바람에
시간이 생각보다 오래 걸렸다...
제대로 알고 접근해야
시간 낭비를 줄일 수 있는데..
이번 문제는 문제 이해 부분이 아쉬웠다...
그래도 테스트 케이스들을 생각하고
'왜 안되지?'를 반복하다가
결국은 다시 '문제 이해'로 돌아가서
차근 차근 읽고
내 코드의 문제를 고칠 수 있었따.
[2] 직관적 문제 접근
해시로 풀려니깐.. 생각보다 절차가 많은 것 같아서..
우선 스킵 했다..
충분히 그리디 정렬 만으로도 접근 할 수 있지 않을까?
싶었다...
물론.. 나중에 해시맵으로 풀어봐야겠다.. !
(1) 정렬해주기~
(2) 특정 숫자가 접두사로 사용된 부분을 걸러주기
def solution(phone_book):
# 정렬해주기~
answer = True
phone_book.sort()
#접두사로 사용된 부분 발견하면 False 리턴
for i in range(len(phone_book) - 1):
if phone_book[i] == phone_book[i + 1][:len(phone_book[i])]:
return False
return True
생각보다 간단한 프로세스로 접근했다.
결과는
통과다 ..!
[3] 회고
오늘 문제는 해시로 접근해야하는데 ..
약간의 귀차니즘 ? 때문에
해시가 아닌 그리디로 접근했다.
오늘 오후에 한 번 해시로 작성해봐야겠다..
그리고 '문제 이해'를 잘 해야지..
다른 테스트 케이스를 잘 작성할 수 있을듯.. ㅜㅜ
정말 바보같은 실수를 해버려서
제한 시간을 초과했지만!
다음 부터는 그런 일 없도록 주의~!
풀이 시간 : 00:35:52