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 |
Tags
- boolean
- max-heap
- 부등호
- 중첩문
- 코딩테스트
- 스택/큐
- John Sonmez
- 조합
- 임시 변수
- 가이드
- 커리어
- 힙
- 가독성
- enumerate
- 탈출 조건
- 대소 비교
- min heap
- 중간 변수
- 함수
- 중첩
- 매직 넘버
- 프로그래머스
- 파이썬
- permutations
- ZIP
- 함수화
- 변수명
- 그리디
- 2020 채용
- deque
Archives
- Today
- Total
Better Code, Better Life
전화번호 목록 - 프로그래머스 - 파이썬 풀이 본문
문제 풀이
combinations을 써서 푸는 문제입니다.
두개씩 묶은 번호 중에
전화번호가 긴 것이 짧은 것을 포함하는 경우 False, 아니면 True입니다.
has_duplication 와 같은 함수를 만드는 연습과 combinations를 연습해보는 문제 같습니다.
함수를 작성할 때, return을 끝에 하나만 작성하면 디버깅 및 유지 보수가 쉬워집니다.
이 글의 반환값 문단을 참고하면 좋습니다.
해답 코드
from itertools import combinations
def has_duplication(a, b):
duplication = False
if len(a) >= len(b):
if a[:len(b)] == b:
duplication = True
else:
if b[:len(a)] == a:
duplication = True
return duplication
def solution(phone_book):
answer = True
for combination in combinations(phone_book, 2):
a, b = combination
if has_duplication(a, b):
answer = False
break
return answer
도움이 됐다면 공감버튼을 눌러주세요! 질문이 있다면 댓글 달아주세요!
코딩테스트 연습 - 전화번호 목록 | 프로그래머스
전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 r
programmers.co.kr
'Coding Test > Programmers' 카테고리의 다른 글
탑 - 프로그래머스 - 파이썬 풀이 (0) | 2019.07.26 |
---|---|
프린터 - 프로그래머스 - 파이썬 풀이 (0) | 2019.07.24 |
베스트앨범 - 프로그래머스 - 파이썬 풀이 (0) | 2019.07.22 |
위장 - 프로그래머스 - 파이썬 풀이 (0) | 2019.07.20 |
완주하지 못한 선수 - 프로그래머스 - 파이썬 풀이 (0) | 2019.07.16 |
Comments