백준

[백준][Kotlin]11047번 문제 동전 0

끝까지 처음처럼 2023. 3. 20. 19:28
728x90

해당 문제는 동전의 가치가 큰것부터 k원과 비교하여 같거나 클 경우

answer(정답) 에 k/동전의 가치 를 더한 후 k는 동전의 가치로 나눈 후 남은 나머지로 변경하며, 최종적으로 k가 0원이 되었을때 answer를 반환하면 되는 문제였습니다.

하기는 제가 작성한 코드와 제출 결과 입니다.

 

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import java.lang.Math.max
import java.util.*
import kotlin.collections.ArrayList
import kotlin.collections.HashSet

fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    //var bw = BufferedWriter(OutputStreamWriter(System.out))
    var st = StringTokenizer(br.readLine())
    val N = st.nextToken().toInt()
    var K = st.nextToken().toInt()
    var arr = IntArray(N){0}
    repeat(N){
        st = StringTokenizer(br.readLine())
        arr[N-it-1] = st.nextToken().toInt()
    }

    var answer = 0

    for(coin in arr){
        if(K >= coin){
            answer += K/coin
            K = K % coin
        }
        if(K == 0)break
    }
    println(answer)



    //bw.flush()
    //bw.close()
}