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
- 중첩문
- 대소 비교
- max-heap
- 중간 변수
- 중첩
- 프로그래머스
- 2020 채용
- 스택/큐
- 힙
- ZIP
- 코딩테스트
- min heap
- 가독성
- 탈출 조건
- 부등호
- 그리디
- 조합
- 매직 넘버
- 변수명
- boolean
- 커리어
- enumerate
- 함수화
- 함수
- 파이썬
- 가이드
- deque
- 임시 변수
- John Sonmez
- permutations
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
도움이 됐다면 공감버튼을 눌러주세요! 질문이 있다면 댓글 달아주세요!
'Coding Test > Programmers' 카테고리의 다른 글
탑 - 프로그래머스 - 파이썬 풀이 (0) | 2019.07.26 |
---|---|
프린터 - 프로그래머스 - 파이썬 풀이 (0) | 2019.07.24 |
베스트앨범 - 프로그래머스 - 파이썬 풀이 (0) | 2019.07.22 |
위장 - 프로그래머스 - 파이썬 풀이 (0) | 2019.07.20 |
완주하지 못한 선수 - 프로그래머스 - 파이썬 풀이 (0) | 2019.07.16 |
Comments