코틀린/백준

[백준 10869] 사칙연산 - 코틀린(Kotlin)

Jakorithm 2023. 10. 1. 00:40
728x90

문제

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

 

10869번: 사칙연산

두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 

www.acmicpc.net

 

 

코드

두 정수 A와 B를 입력받아 두 수의 덧셈, 뺄셈, 곱셈, 나눗셈, 나눈 나머지를 한 줄씩 차례대로 출력하는 문제다.

 

코틀린 표준 라이브러리 활용

fun main() {
    val input = readln()
    val a = input.split(" ")[0].toInt()
    val b = input.split(" ")[1].toInt()

    println(a + b)
    println(a - b)
    println(a * b)
    println(a / b)
    println(a % b)
}
  • leadln() 함수를 통해 한 줄씩 입력받아 split() 함수를 통해 공백(" )을 기준으로 분리하여 첫 번째 문자열을 a, 두 번째 문자열을 b로 각각 Int 타입으로 변환하여 초기화한다.
  • println() 함수를 통해 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산을 수행하여 한 줄씩 출력한다.

 

Scanner 활용

import java.util.Scanner

fun main() = with(Scanner(System.`in`)) {
    val a = nextInt()
    val b = nextInt()
    
    println(a + b)
    println(a - b)
    println(a * b)
    println(a / b)
    println(a % b)
}
  • with 블록을 통해 자바의 Scanner를 생성하여 nextInt() 함수를 통해 정수를 입력받을 수 있다..

 

BufferedReader 활용

import java.io.BufferedReader
import java.io.InputStreamReader

fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
    val input = readLine()!!
    val a = input.split(" ")[0].toInt()
    val b = input.split(" ")[1].toInt()

    println(a + b)
    println(a - b)
    println(a * b)
    println(a / b)
    println(a % b)
}
  • BufferedReader와 InputStreamReader를 통해 한 줄의 문자열을 입력받을 수 있다.
  • 마찬가지로 with 블록을 입력받아 처리할 수 있다.
728x90