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
- 프로그래밍공부
- pcce 기출문제 10번 공원
- pcce 기출문제 9번 지폐 접기
- c++ 5567
- directx 그래픽스
- 고대 문명 유적 탐사
- texture mapping
- 수식 복원하기
- 코드트리 고대 문명 유적 탐사
- boj 5567
- pcce 기출문제 풀이
- 잔디 기부
- pcce 기출문제 10번 지폐 접기 풀이
- c++ 1991
- depth-stencil
- boj 1991
- python 고대 문명 유적 탐사
- pccp 기출문제 풀이
- 티스토리챌린지
- root signature
- 백준 5567
- PCCE
- 오블완
- constant buffre
- gemmasprint
- pcce 기출문제 10번 공원 풀이
- DirectX
- 렌더링 파이프
- 잔디 기부 캠페인
- DirectX12
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