일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 키패드 누르기
- 베스트엘범
- 9095번
- SW ExpertAcademy
- 거울 설치
- 1789번
- 수식 최대화
- 14499번
- 미세먼지 안녕!
- 경주로 건설
- 감소하는 수
- 12869번
- 빛의 경로 사이클
- 프로그래머스
- 스타트 택시
- 16234번
- python
- 1038번
- 2020 카카오 인턴십
- 어른 상어
- 백준 알고리즘
- 보석 쇼핑
- 파이썬
- HTML 기초
- QueryDSL 기초
- SW Expert Academy
- 19238번
- 12865번
- 15686번
- 17144번
- Today
- Total
목록알고리즘 풀이/프로그래머스 (22)
보물창고 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9EptI/btrtak31lQo/rXGip4HR0SUkhCrhFmAMJK/img.png)
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 경우의 수 문제입니다. 각 부위별로 개수를 구해서 (개수+1)값을 전부 곱한뒤 1을 빼면 답입니다. 1을 빼는 이유는 옷을 하나도 걸치지 않을 경우를 빼야하기 때문입니다. 소스코드는 아래와 같습니다. def solution(clothes): if len(clothes) == 0: return 0 from collections import defaultdict part = defaultdict(int) for c in clothes: part[c[1]] += 1 answer = 1 for p in part: answer *= part[p..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Eg7sx/btrs7AUit54/I7n0vkixK1LOBqJly0Ikq1/img.png)
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 이 문제는 정렬(sort)을 해야 효율적으로 풀 수 있습니다. 처음에는 시간 초과 때문에 통과를 못하였습니다. O(N^2)으로 풀어서 통과를 하지 못하였습니다. 하지만 sort를 통해 O(N)으로 풀 수 있었습니다. 문자열 순서로 오름차순으로 정렬을 한 뒤에 자신과 자신의 바로 다음 전화번호만을 비교하면 충분합니다. 아래는 소스코드입니다. def..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cA9Mhx/btrs5939RV2/X6JsxjLKarepRpL0RATQgk/img.png)
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 해시(HASH) 관련 문제입니다. 저는 파이썬 자료구조인 Dictionary를 사용하여 풀이하였습니다. 풀이 코드는 아래와 같습니다. def solution(participant, completion): answer = '' #참가자와 숫자를 key,value로 담을 Dictionary 선언 partdict = {} for p i..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr 우선순위 큐를 구현하는 문제입니다. collection 모듈의 deque를 사용하여 해결하였습니다. deque는 append, appendleft, pop, popleft 메서드를 갖고 있는데, 모두 시간 복잡도 O(1)입니다. 소스코드는 아래와 같습니다. def solution(priorities, location): from collections..