[백준] 11047 동전 0 (진행중)

Algorithm 2019. 8. 13. 10:14
반응형

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

 

 

틀렸습니다????

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
const readline = require('readline');
 
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
 
let n;
let k;
let arrN = [];
let state = 0;
rl.on('line', (input)=>{
 
    if(state === 0){
        let arr = input.split(' ');
        n = parseInt(arr[0]);
        k = parseInt(arr[1]);
        console.log(n, k);
    }else{
    }
 
    if(state === n){
        arrN = arrN.reverse(); 
        tempK = k;
        solution(0);
 
        rl.close();
    }
 
    state++;
});
 
let count = 0;
let tempK;
const solution = (i)=>{
 
    if( i >= arrN.length){
        console.log(count)
        return;
    }
 
    let target = parseInt(arrN[i]);
    while(true){
        if( tempK - target < 0)
            break;
 
        tempK -= target;
        count++;
    }
 
    solution(i + 1);
};
 
 

 

 

맞았습니다. (자바)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i, m = 0, n = sc.nextInt(), k = sc.nextInt();
        int a[] = new int[n+1];
        for(i = 1; i<= n; i++) {
            a[i] = sc.nextInt();
        }
        
        for(i = n; i>0; i--) {
            m+= k/a[i];
            k %= a[i];
        }
        System.out.println(m);
        sc.close();
                
    }
}
 
 
 

 

맞았습니다 (C#)

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
using System;
 
namespace _01
{
    class Program
    {
        static void Main(string[] args)
        {
             var input = Console.ReadLine();
            var arr1 = input.Split(' ');
            int n = int.Parse(arr1[0]);
            int k = int.Parse(arr1[1]);
            int[] arr2 = new int[n + 1];
            int i, m = 0;
            for (i = 1; i <= n; i++) {
                arr2[i] = int.Parse(Console.ReadLine());
            }
            for (i = n; i > 0; i--) {
                m += k / arr2[i];
                k %= arr2[i];
            }
            Console.WriteLine(m);
        }
    }
}
 
 
 
반응형

'Algorithm' 카테고리의 다른 글

피보나치 수열  (0) 2019.08.14
[백준] 1463 1로 만들기  (0) 2019.08.13
[백준] ATM 11399  (0) 2019.08.12
설탕 배달  (0) 2019.06.11
그래프  (0) 2019.06.11
: