본문 바로가기

Kotlin/Kotlin Algorithm

[백준 Kotlin] 1단계. 입출력과 사칙연산

728x90
반응형
  • 2557번 : Hello World
fun main(args: Array<String>){
    println("Hello World!")
}

 

 

 

 

  • 39906084번 : We love Kriii
fun main(args:Array<String>){
    println("강한친구 대한육군\n강한친구 대한육군")
}

 

 

 

 

  • 10171번 : 고양이
fun main(args:Array<String>){
    println("\\    /\\\n" +
            " )  ( ')\n" +
            "(  /  )\n" +
            " \\(__)|")
}

 

 

 

 

  • 10172번 : 개
fun main(args:Array<String>){
    println("|\\_/|\n" +
            "|q p|   /}\n" +
            "( 0 )\"\"\"\\\n" +
            "|\"^\"`    |\n" +
            "||_/=\\\\__|"
    )
}

 

-> 역슬래시를 출력하기 위해서는 역슬래시를 두 번써야하고, 따옴표(")를 출력하기 위해서는 따옴표 에 역슬래시를 붙여주면 된다.

 

 

 

 

 

  • 1000번 : A + B
import java.util.*

fun main() = with(Scanner(System.`in`)){
    println(nextInt() + nextInt())

}

@ Scanner

   - 읽은 바이트를 문자, 정수, 실수, boolean, 문자열 등 다양한 타입으로 변환하여 리턴

   - import java.util.Scanner;

   - 클래스이름 + 객체이름 = new 클래스이름(); 으로 사용

   - Scanner in = new Scanner(System.in); 사용자로부터 입력을 받기 위해 System.in을 사용

 

 

+ BufferReader 사용법 추가

import java.io.*


fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val bw = BufferedWriter(OutputStreamWriter(System.out))
    val (a,b) = br.readLine()!!.split(" ").map{it.toInt()}
    val plus = a+b
    bw.write("$plus")
    bw.close()

}

 

 

 

 

 

 

  • 1008번 : A % B
import java.util.*

fun main() = with(Scanner(System.`in`)){
    println(nextDouble() / nextDouble())

}

 -> A+B와는 달리 Int에서 Double로 변경한 것이 포인트

 

 

 

 

+ BufferReader 사용법 추가

import java.io.*

fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val bw = BufferedWriter(OutputStreamWriter(System.out))
    val (a,b) = br.readLine()!!.split(" ").map{it.toDouble()}
    val div = a / b
    bw.write("$div")
    bw.close()
}

 

 

 

 

 

 

 

  • 10869번 : 사칙연산
import java.util.*

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)
}


//실패한 코드
//fun main() = with(Scanner(System.`in`)){
//    println(nextInt() + nextInt())
//    println(nextInt() - nextInt())
//    println(nextInt() * nextInt())
//    println(nextInt() / nextInt())
//    println(nextInt() % nextInt())
//}

 

 

 

 

 

 

  • 10926번 : ??!
fun main(args:Array<String>){
    println("${readLine()}??!")

}

@readLine()

-> 문자열을 입력받는 함수로, 숫자로 변환하고 싶을 경우, readLine()!!.toInt() 처럼 !!를 붙여준다.

 

 

 

 

 

 

  • 18108번 : 1998년생인 내가 태국에서는 2541년생?!
fun main(args:Array<String>){
    println((readLine()!!
        .toInt()
        .let { it - 543 }))
}

@readLine()

@let{}

 

 

 

 

 

 

  • 10430번 : 나머지
import java.util.*

fun main() = with(Scanner(System.`in`)){
    val A = nextInt()
    val B = nextInt()
    val C = nextInt()

    println((A+B)%C)
    println(((A%C) + (B%C))%C)
    println((A*B) %C)
    println(((A%C) * (B%C))%C)
}

 

 

 

 

 

 

  • 2588번 : 곱셈
import java.util.*

fun main() = with(Scanner(System.`in`)){
    val a = nextInt()
    val b = nextInt()

    println(a*(b % 10))
    println(a*(b %100 / 10))
    println(a*(b /100))
    println(a*b)
}

 -> 일의 자리는 10으로 나눠준 값의 나머지 값, 

     십의 자리는 100으로 나눠준 값의 나머지를 10으로 나눈 값,

     백의 자리는 100으로 나눠준 값

 

 

728x90
반응형