728x90
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 fs = require("fs");
let input = fs.readFileSync("input.txt").toString().split("\n");
let [n,k] =input[0].split(" ").map(Number) //[10,4200]
let answer=0
for(i=n;i>0;i--){ // 가장 단위가 큰 동전 => 단위가 작은 동전 순차적으로
if(input[i]<=k){ // 동전의 단위가 k보다 작을 때
answer=answer+parseInt(k/input[i]) // k를 동전으로 나눈 몫만큼을 answer에 더해줌
k=k%input[i] // k는 나머지가 됨
}
}
console.log(answer)
10분 컷!!
https://www.acmicpc.net/problem/11399
11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
[나의 코드]
let fs = require("fs");
let input = fs.readFileSync("dev/stdin").toString().split("\n");
const n= Number(input[0])//5
const arr=input[1].split(" ").map(Number).sort((a,b)=>a-b) // [1,2,3,3,4]
let answer=0;
for(i=0;i<arr.length;i++){
answer=answer+arr[i]*(n-i)
}
console.log(answer)
돈을 인출할 때 필요한 시간의 합의 최솟값이 되게 하려면 처음에 인출하려는 사람이 인출하는데 가장 적은 시간이 소요되고 갈수록 더 많은 시간이 필요하게 정렬을 하면 된다.
[나의 코드]
let fs = require("fs");
let input = fs.readFileSync("index.txt").toString().split("\n");
let group = input[0].split("-")
let answer=0;
for(let i=0;i<group.length;i++){
let temp = group[i].split("+").map(Number).reduce((a,b)=>a+b)
if(i==0) answer= answer+temp
else answer= answer-temp
}
console.log(answer)
https://www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
[나의코드]
let fs = require("fs");
let input = fs.readFileSync("index.txt").toString().split("\n");
let temp = input[0].split("-")//[ '55', '50+40' ], - 부호를 기준으로 나누어줌
let answer=0
for(i=0;i<temp.length;i++){
let _temp = temp[i].split("+").map(Number).reduce((a,b)=>a+b)
// 55, 90 과 같이 +를 기준으로 나뉜 값들을 더해줌
if(i===0) answer=Number(_temp)
// 맨 첫번째 값일 때는 값 그대로가 answer
else answer= answer-Number(_temp)
// 이후로는 -로 연결하면 최솟값이 구해짐
}
console.log(answer)
728x90
'알고리즘' 카테고리의 다른 글
그리디 문제풀이(3) (0) | 2023.04.23 |
---|---|
그리디 문제풀이(2) (0) | 2023.04.23 |
프로그래머스 > 코딩 테스트 연습 > 연습 문제 > 행렬의 곱셈 (0) | 2023.04.20 |
프로그래머스 > 2022 KAKAO BLIND RECRUITMENT > k진수에서 소수 개수 구하기 (0) | 2023.04.19 |
프로그래머스 > Summer/Winter Coding(~2018) > 스킬트리 (0) | 2023.04.18 |