일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- enumerate
- 중첩문
- ZIP
- 파이썬
- 2020 채용
- 함수
- 스택/큐
- 대소 비교
- 가독성
- John Sonmez
- 힙
- 함수화
- 매직 넘버
- min heap
- max-heap
- 중간 변수
- 탈출 조건
- boolean
- 프로그래머스
- 임시 변수
- deque
- 코딩테스트
- 커리어
- 중첩
- 그리디
- 부등호
- 가이드
- permutations
- 조합
- 변수명
- Today
- Total
목록조합 (2)
Better Code, Better Life

문제 풀이 문제 자체는 매우 간단합니다. 예시도 두 가지로 직관적입니다. 하지만 숫자 길이가 길어지면 시간 초과가 날 확률이 높습니다. 따라서 문제를 잘 이해하고 최적화할 부분을 찾는게 중요합니다. 풀이 과정 소수가 될만한 후보를 찾습니다. 완전 탐색이 여기서 쓰입니다. permutations 이 후보가 소수인지 확인합니다. 이 부분을 최적화해야 합니다!! 소수인지 판별하는 다양한 알고리즘을 구현해 이 부분만 수정합니다. 이런 기본적인 함수는 인터넷에 최적화 되어있는 코드가 많이 있습니다. 검색해서 활용합시다! 클린 코드 작성법 변수명을 고쳐 문제의 이해력을 높입니다. number_string 문제의 단계별로 함수화합니다. get_candidates check_prime 문제를 풀어나갈 때, 과정을 잘게..

문제 풀이 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)] ==..