예를 들어 119, 1195334라는 번호가 있다면,
1195334라는 번호에서 119가 맨 처음 들어가있으므로 전화번호부 내에 있는 119가 저 번호의 접두사가 된다.
이때는 false를 출력한다.
한 번호가 다른 번호의 접두사가 되는 경우가 없으면, true를 출력한다.
간단한 듯 될락말락하는 문제였다.
우선 순서를 빠르게 하기위해 받은 배열 phone_book을 오름차순 정렬했다.
한 번호가 다른 번호의 접두어로 존재하면 false이므로, for 문 내에서 그것을 판별하고 결과를 내면 된다.
i번째 전화번호가 이후의 번호(오름차순으로 정렬했기 때문에 뒤만 고려해주면 됨) 중 접두어(:len(번호[i]))인지
판별하고, 그렇다면 return False를 한다. 함수 내에서 return을 주면 반복문 내의 break와 같은 기능이 되므로!
반복문을 다 돌았는데도 접두어로 존재하는 번호가 없다면 통과. return True를 해주면 된다.
'공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 86051번 (0) | 2022.06.15 |
---|---|
[프로그래머스] 59413번 (0) | 2022.06.15 |
[프로그래머스] 42840번 (0) | 2022.06.15 |
[프로그래머스] 42626번 (0) | 2022.06.15 |
[프로그래머스] 42746번 (0) | 2022.06.15 |