해시
1. 전화번호 목록
- phone_book.sort(): 비교하기 편하게 전화번호 목록 정렬
- for i in range(len(phone_book) -1): phone_book 리스트만큼 for문을 돌리되, index range error가 발생하지 않도록 -1
- for문에서 -1을 하지 않을 경우, if문을 돌면서 range 에러 발생
- 만약 len(phone_book) = 3이라면, if문에서 phone_book[3] 없는 인덱스를 호출하는 상황 발생
- 어떤 번호가 다른 번호의 접두어로 있다면 False / 그렇지 않으면 True
- if phone_book[i+1].startswith(phone_book[i]): 뒷 번호에 앞 번호가 포함되어 있다면
- answer = False: False로 변경
- startswith(): 현재 문자열이 사용자가 지정한 특정문자로 시작하는지 확인하는 함수, 리턴 값: True or False
- endswith(): 현재 문자열이 사용자가 지정한 특정문자로 시작하는지 확인하는 함수, 리턴 값: True or False
def solution(phone_book):
answer = True
phone_book.sort()
for i in range(len(phone_book)-1):
if phone_book[i+1].startswith(phone_book[i]):
answer = False
return answer
참고 사이트: https://programmers.co.kr/
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형
'Java > 알고리즘' 카테고리의 다른 글
[알고리즘/덱(Deque)] 스택, 큐, 덱 - 개념, Python 주요 문법, deque 객체 지원 메소드 (0) | 2024.08.16 |
---|---|
[알고리즘/그리디] 각 상황에서 최적인 방법 선택, 예시 문제(거스름돈, 1이 될 때까지, 곱하기 혹은 더하기, 모험가 길드) (1) | 2024.08.16 |
[알고리즘] 해시(Hash) 이론 이해하기 (0) | 2024.06.10 |
[알고리즘] 해시 - Lv.1 완주하지 못한 선수 (0) | 2024.06.10 |
[알고리즘] 해시 - Lv.1 폰켓몬 (0) | 2024.05.23 |