성장, 그 아름다운 향연

https://www.acmicpc.net/problem/10179

 

10179번: 쿠폰

당신은 어떤 물건이라도 20% 할인해주는 쿠폰을 가지고 있다. 원래 가격이 주어질 때, 쿠폰을 사용하면 얼마가 되는지 알려주는 프로그램을 작성하시오.

www.acmicpc.net

문제

당신은 어떤 물건이라도 20% 할인해주는 쿠폰을 가지고 있다.

원래 가격이 주어질 때, 쿠폰을 사용하면 얼마가 되는지 알려주는 프로그램을 작성하시오.

 

 

입력

첫 번째 줄에 테스트케이스의 수가 주어진다.

각 줄에는 물건의 원래가격이 소수점 둘째자리까지 주어진다.

 

 

출력

할인된 가격을 달러 단위로 출력한다.

나누어떨어지지 않을 때는 소수점 셋째 자리에서 반올림해서 둘째 자리까지 출력한다.

 

 


 

해당 문제를 풀기 위해서는 다음과 같은 개념이 필요하다.

 

1) 테스트 케이스 작성법

2) n자리 소수점 출력하기

 

 

현 게시물에는 소수점 출력하는 방법을 알아보려 한다.

 

방법은 다음과 같다.

 

println("%.2f".format(it))

 

.2f 는 소수점 둘째 자리까지 반올림하여 나타낸다는 수식이다. 이것을 format 함수에 실수를 넣게 되면 원하는 값을 출력할 수 있다.

 

 

 

전체 코드

import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.*
import kotlin.math.roundToInt

fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val testCase = br.readLine().toInt()

    val list = mutableListOf<Double>()

    for(i in 1..testCase) {
        val st = StringTokenizer(br.readLine())
        val n = st.nextToken().toDouble()

        list.add(n * (1 - 0.2))
    }

    list.forEach {
        println("$%.2f".format(it))

        println((it*100).roundToInt() / 100.0)
    }
}

 

 

 

profile

성장, 그 아름다운 향연

@dev_minoflower

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...