알고리즘/백준알고리즘
[백준알고리즘] #15474. 鉛筆 (Pencils) (by JAVA and node.js)
Jimnya
2022. 5. 3. 18:57
728x90
반응형
백준알고리즘
- Bronze 4 -
#15474. 鉛筆 (Pencils) by JAVA and node.js
문제
출처: https://www.acmicpc.net/problem/15474
번역: https://www.acmicpc.net/board/view/85878
글 읽기 - (번역) 15474 - 연필
댓글을 작성하려면 로그인해야 합니다.
www.acmicpc.net
접근 방법
N개의 연필이 필요하고,
X세트에는 A개의 연필, B엔
Y세트에는 C개의 연필, D엔
1. N/A와 N/C를 해서 그 값들보다 크거나 같은 정수를 구해 X세트와 Y세트를 각각 몇 개를 사야하는지 구한 뒤,
2. 그 개수만큼 B와 D에 각각 곱해 얼마의 비용이 드는지 구하고,
3. 그 비용들 중 작은 값을 Math.min()을 이용해 출력하면 된다.
풀이
▶ JAVA
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt(); // 필요한 연필의 양
int a = scan.nextInt(); // X세트에 들어있는 연필의 개수
int b = scan.nextInt(); // X세트 하나의 가격
int c = scan.nextInt(); // Y세트에 들어있는 연필의 개수
int d = scan.nextInt(); // Y세트 하나의 가격
scan.close();
int cnt1 = (n % a == 0 ? n/a : (n/a) + 1); // X세트로 구매 시 필요한 세트 수
int cnt2 = (n % c == 0 ? n/c : (n/c) + 1); // Y세트로 구매 시 필요한 세트 수
int result1 = cnt1 * b; // X세트로 구매 시 총 금액
int result2 = cnt2 * d; // Y세트로 구매 시 총 금액
System.out.println(Math.min(result1, result2));
}
}
▶ node.js
var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().trim().split(' ').map(v => +v);
var n = input[0];
var a = input[1];
var b = input[2];
var c = input[3];
var d = input[4];
var cnt1 = (n % a == 0 ? parseInt(n/a) : parseInt(n/a)+1);
var cnt2 = (n % c == 0 ? parseInt(n/c) : parseInt(n/c)+1);
var result1 = cnt1 * b;
var result2 = cnt2 * d;
console.log(Math.min(result1, result2));
결과
End.
heisely's 괴발개발 개발일지
728x90
반응형