코틀린/백준
[백준 1008] A/B - 코틀린(Kotlin)
Jakorithm
2023. 9. 30. 00:47
728x90
문제
https://www.acmicpc.net/problem/1008
1008번: A/B
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
코드
두 정수 a, b를 입력받아 a와 b의 나눈 결과를 출력하는 문제다. 코틀린에서는 다양한 입력 방법을 제공하고 있다.
코틀린 표준 라이브러리 활용1
fun main() {
val input = readLine()
println(input!!.split(" ")[0].toDouble() / input.split(" ")[1].toDouble())
}
- kotlin.io 패키지에서 기본으로 제공하는 readLine() 함수를 통해 한 줄씩 문자열을 입력받을 수 있다.
- split() 함수를 통해 문자열 공백(" ")을 기준으로 분할하여 첫 번째 문자열과 두 번째 문자열을 Double 타입으로 변환하여 나눈다.
코틀린 표준 라이브러리 활용2
fun main() {
val input = readln()
println(input.split(" ")[0].toDouble() / input.split(" ")[1].toDouble())
}
- leadln() 함수로도 입력받을 수 있다. readln() 함수는 null인 경우 ReadAfterEOFException 예외를 발생시킨다.
- split() 함수를 통해 문자열 공백(" ")을 기준으로 분할하여 첫 번째 문자열과 두 번째 문자열을 Double 타입으로 변환하여 나눈다.
Scanner 활용
import java.util.Scanner
fun main() = with(Scanner(System.`in`)) {
println(nextDouble() / nextDouble())
}
- with 블록을 통해 자바의 Scanner를 생성하여 정수를 입력받아 nextDouble() 함수를 통해 Double 타입으로 두 정수를 읽어 나눌 수 있다.
BufferedReader 활용
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() = with(BufferedReader(InputStreamReader(System.`in`))){
val input = readLine()!!
println(input.split(" ")[0].toDouble() / input.split(" ")[1].toDouble())
}
- BufferedReader와 InputStreamReader를 통해 한 줄의 문자열을 입력받을 수 있다.
- 마찬가지로 with 블록을 입력받아 처리할 수 있다.
728x90