일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Til
- 유데미
- 판다스
- 넘파이
- 파이썬
- numpy
- 데이터시각화
- DataFrame
- 데이터프레임
- 브루트포스 알고리즘
- 코딩테스트
- 유데미코리아
- ndarray
- 시각화
- 정렬
- 유데미큐레이션
- 데이터분석
- 태블로
- 부트캠프후기
- 스타터스부트캠프
- Tableau
- 취업부트캠프
- Leetcode
- 백준
- python
- matplotlb
- 그리디 알고리즘
- 데이터드리븐
- pandas
- 유데미부트캠프
- Today
- Total
목록그리디 알고리즘 (4)
Diary, Data, IT

1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net https://www.acmicpc.net/problem/1026 문제 길이가 N인 정수 배열 A와 B와 함수 S = A[0] × B[0] + ... + A[N-1] × B[N-1]가 주어집니다. 배열 A를 재배열하여 S의 최솟값을 구합니다. 단 배열 B는 재배열할 수 없습니다. 아이디어 S의 최솟값을 구하려면 A는 작은 순서대로, B는 큰 순서대로 차례대로 곱해줘야 합니다. 하지만 B를 재배열 할 수 없으므로 다음 2가지 방법을 활용할 수 있습니다. 1..

[백준] 10610번 30 - Python 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net https://www.acmicpc.net/problem/10610 문제 양수 N을 입력받아 N에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들어야 합니다. 만약 30의 배수를 만들 수 없다면 -1을 출력합니다. 아이디어 30의 배수가 되려면 3의 배수이면서 10의 배수여야 합니다. 1) 10의 배수가 되려면 0을 반드시 포함하고 있어야 합니다. 2) 3의 배수가 되려면 숫자들의 합이 3의 배수여야 합니다. ..

[백준] 11047번 동전 0 - Python 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net https://www.acmicpc.net/problem/11047 문제 N 종류의 동전을 가지고 K원을 만들려고 할 때, 필요한 동전 개수의 최솟값을 구합니다. N개의 동전 종류 또한 주어지며, 각 종류의 동전을 매우 많이 가지고 있다고 가정합니다. 아이디어 가장 단위가 큰 동전부터 차례대로 사용하면 동전 개수의 최솟값을 구할 수 있습니다. 또한 사용한..

11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net https://www.acmicpc.net/problem/11399 문제 N명의 사람이 돈을 인출하려고 하는 상황입니다. 각 사람이 돈을 인출하는데 걸리는 시간이 주어질 때, 모든 사람이 기다려서 돈을 인출하는데 걸리는 시간의 합의 최솟값을 구해주세요. 아이디어 모든 사람들이 기다리는 시간을 최소가 되게 하려면 인출 시간이 적게 걸리는 사람부터 순차적으로 진행하도록 해야합니다. 또한 i+1번째 사람이 인출하는데 걸리는 시간은 'i번째 사람이 기다려서 인출하는데 걸린 시간' + 'i+1번째 사람..