프로그래머스 Hash)전화번호 목록(파이썬-zip, startswith 사용)

ppm_Vely·2022년 6월 21일
0

코딩테스트

목록 보기
7/21

문제를 요약하면..

서롭 접두어가 겹치면 안된다!

겹칠경우 False, 안겹칠 경우 True 반환

해시는 사용할 필요가 없어 사용하지 않았다.


시도1

정렬하면 무조건 접두어 겹치는 것끼리 연속적으로 위치할 것이다.

for문을 이용해 차례대로 순회하며

다음 요소와 접두어를 비교한다.

단,다음 요소와 비교할 때 phone_book[i] in phonbook[i+1] 하면 안된다!

그 이유는 접두어가 아닌 중간에 위치하는 경우가 포함되는데 이는 문제조건에 위배되기 때문이다.

그래서 phone_book[i]의 길이만큼만 비교해줘야 한다!

시도2

zip와 startswith 써보기

★zip의 기능★

두 리스트의 같은 위치의 요소를 묶어준다.

만약 길이가 같지 않다면, 같을 때까지만 묶어준다!

★startswith의 기능★

str.startswith(비교str,시작위치,끝위치)

시작위치, 끝위치 deefault 값 : str의 시작, str의 끝

바로 접두어 비교를 할 수 있으므로 위 시도1에 비해 접두어 조건을 따로 명시하지 않아도 되므로 편리하다!

profile
오늘도 개발중인 ppm's Programming Log

0개의 댓글