본문 바로가기

그리디11

[백준 11047/javascript] 동전 0 그리디 문제 동전을 최소로 사용해서 해당 숫자를 만들어 내면 되는 문제와 비슷한 문제이다 동전의 종류를 배열로 받아 큰 단위부터 빼주면 되는 문제이다 https://www.acmicpc.net/problem/11047 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 let input = []; const readline = require("readline").createInterface({ input: process.stdin, output: pr.. 2022. 10. 7.
[백준 1026/javascript] 보물 같은 길이의 배열을 두개 주고 같은 인덱스끼리의 곱의 총합을 비교, 가장 작은 총합이 되도록 두 배열을 바꿀 수 있다면 만들 수 있는 최소의 총합을 구하는 문제이다 가장 큰 수와 가장 작은 수끼리 곱하고 그걸 더하면 되는 문제이다 두 배열 중 하나는 오름차순, 다른 하나는 내림차순으로 정렬 하여 인덱스별로 곱해주면 되는 문제이다 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net let input = []; const readline = r.. 2022. 8. 24.
[백준 11399/c++] ATM 총 시간이 최소일때의 시간이 되려면 앞에는 작은 수를, 뒤로 갈수록 큰수를 두어 오름차순 정렬시키면 된다 주어진 시간들을 배열이나 벡터에 넣고(배열이 더 빠르다) sort 로 오름차순 정렬 후 for 문으로 개수를 추가해 돌면서 누적 합을 구해주면 되는 문제였다 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net #include using namespace std; int main(){ int n; int num; int sum = 0; int ar[1004]; cin >> n.. 2022. 7. 29.
[백준 2847/c++] 게임을 만든 동준이 if 인접한 바로 앞의 단계가 바로 뒤의 단계보다 크거나 같다면 그 앞의 단계에서 그 뒤 단계를 뺀 수 -1 만큼의 수만큼은 빼줘야 앞의 단계 점수가 뒤 단계 점수보다 낮다 이걸 뒤에서부터 하나씩 반복해서 앞까지 진행해주면 되는 그리디 문제였다 https://www.acmicpc.net/problem/2847 2847번: 게임을 만든 동준이 학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어 www.acmicpc.net #include using namespace std; int main(){ int n,p; int arp[104]={0,}; int cnt=0; int .. 2022. 7. 9.