일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 1038번
- 미세먼지 안녕!
- 감소하는 수
- 12865번
- 12869번
- HTML 기초
- 수식 최대화
- 2020 카카오 인턴십
- SW Expert Academy
- 베스트엘범
- 17144번
- 15686번
- python
- 백준 알고리즘
- 거울 설치
- 14499번
- 파이썬
- 보석 쇼핑
- 경주로 건설
- 어른 상어
- 1789번
- 키패드 누르기
- QueryDSL 기초
- 19238번
- 빛의 경로 사이클
- 스타트 택시
- 프로그래머스
- 9095번
- 16234번
- SW ExpertAcademy
- Today
- Total
목록알고리즘 풀이 (84)
보물창고 블로그
문제 링크: www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 문제는 '서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?'입니다. 서로 다른 N개의 자연수의 합이 S라고 할 때 N을 최댓값으로 하기 위해서는 1부터 작은 수들을 차례대로 더하여 S보다 커질 때보다 1개 적을 때가 N의 최댓값입니다. 예제를 보면 200이 주어졌을 때, 1부터 20까지 더하면 210이 되고 1부터 19까지 더하면 190이 됩니다. 따라서 1부터 18까지 더하고 200까지 모자란 수를 마지막 수로 정하면 19개가 최대가 됩니다. 그렇다면 N의 최댓값은 어디까..
문제 링크: www.acmicpc.net/problem/12869 12869번: 뮤탈리스크 1, 3, 2 순서대로 공격을 하면, 남은 체력은 (12-9, 10-1, 4-3) = (3, 9, 1)이다. 2, 1, 3 순서대로 공격을 하면, 남은 체력은 (0, 0, 0)이다. www.acmicpc.net 저는 SCV의 개수에 따라 CASE분류를 통하여 문제를 해결하였습니다. 먼저 SCV수가 1마리일 경우 SCV체력을 9로 나누어 나머지가 0일 경우 몫을 출력하고 아닐 경우 몫+1의 값을 출력하였습니다. SCV가 2마리 이상일 경우에는 DFS(깊이 우선 탐색)으로 문제를 해결하였습니다. 만약 현재 최소의 횟수보다 같거나 높아진다면 분기하지 않는 백 트레킹을 사용하였고, 한 번만 탐색한 것을 체크하기 위해 SC..
문제 링크: https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 이 문제는 대표적인 DP(다이내믹 프로그래밍) 문제입니다. 소스 코드는 아래와 같습니다. 재귀는 쓰지 않았습니다. import sys n, k = map(int, sys.stdin.readline().split()) cost = [[0] * (k + 1) for _ in range(n + 1)] backpack = [l..
문제 링크: 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..