Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 지게차와 크레인
- two characters
- pcce 기출문제 풀이
- boj 1717
- lock based queue
- boj 1074
- DirectX
- ice cream parlor
- special string again
- 브루트포스
- count triplets
- PCCE
- DirectX12
- LCS
- gas
- the maximum subarray
- pccp 기출문제 풀이
- dp
- string construction
- lock free stack
- c++
- boj 6443
- the longest increasing subsequence
- boj 11657
- 프로그래밍공부
- find the running median
- find the town judge
- making anagrams
- lock based stack
- 2025 프로그래머스 코딩챌린지 1차예선
Archives
- Today
- Total
오구의코딩모험
[Python] 전화번호 목록 본문
반응형
[코딩테스트 고득점KIT - 해시]
어떤 번호가 다른 번호의 접두어인 경우, False
ex) "119" 는 "1195524421"의 접두어, return False
그렇지 않은 경우, True
phone_book 리스트 값을 오름차순으로 정렬 해준다면,
유사한 숫자들끼리 배치가 될 것이다.
ex) ["119", "97674223", "1195524421"] → ["119", "1195524421", "97674223"]
index가 낮은 값은 바로 뒤인 index+1 값과 유사하지만 실제 수치는 낮다.
그러므로 서로 맞닿는 index 값들만 비교를 해준다.
ex) 1) phone_book[0], phone_book[1] 비교
2) phone_book[1], phone_book[2] 비교
반복문으로 비교를 해주며, startswith 함수를 이용하여 접두어인지 판별.
끝.
def solution(phone_book):
# 오름차순 정렬
phone_book = sorted(phone_book)
for index in range(1,len(phone_book)):
# startswith -> 문자열 앞 비교
if phone_book[index].startswith(phone_book[index-1]):
return False
return True
반응형
'프로그래밍 공부 > 프로그래머스' 카테고리의 다른 글
[Python] 같은 숫자는 싫어 (0) | 2022.12.24 |
---|---|
[Python] 위장 (0) | 2022.12.23 |
[Python] 베스트앨범 (0) | 2022.12.22 |
[Python] 폰켓몬 (0) | 2022.12.14 |
[Python] 완주하지 못한 선수 (0) | 2022.12.14 |
Comments