Kotlin 알고리즘 문법

박재원·2023년 12월 11일
0

TIL

목록 보기
10/50
post-thumbnail

원래 알고리즘 문제를 파이썬으로 풀고 있었지만 앱개발을 공부하면서 코틀린을 많이 쓰게 되었다. 두 개를 쓰려다보니 비효율적이라고 생각해서 알고리즘 문제들도 코틀린으로 풀 생각이다. 문제들을 풀기위해 기본적인 문법들을 정리해보려고 한다.

입력

readLine()

fun main(args: Array<String>) {
    var name = readLine()
    println("name : ${name} !")
}
  • readLine을 사용하여 문자열을 받을 수 있다. 하지만 모든 입력을 문자열으로 받는다.
fun main(args: Array<String>) {
    var a : Int = readLine()!!.toInt()
    var b : Int = readLine()!!.toInt()

    println(a+b)
}
  • readLine뒤에 !!.toInt()를 붙여 입력된 값을 정수형태로 바꿔 받을 수 있다.

Scanner()

fun main(args: Array<String>) = with(Scanner(System.`in`)) {
    
    val name = nextLine()
    val age = nextInt()

    println("name: $name, age: $age")

}
  • nextInt() , nextLine() 등을 통하여 입력 받은 값의 자료형을 손쉽게 지정할 수 있다.

BufferedReader()

  • 정규식을 확인하지 않고 바로 처리한다.
  • 버퍼를 통해 입력받은 문자를 쌓아둔 뒤 한 번에 문자열처럼 보내버린다.
  • readLine() 메서드를 통해 문자열로 데이터를 받음
fun main() {
    val file = FileReader("sample.txt")
    val bufferedReader = BufferedReader(file)

    var line: String?
    
    //파일에서 한줄씩 읽어와서 출력
    while (bufferedReader.readLine().also { line = it } != null) {
        println(line)
    }

    bufferedReader.close() //리소스 해제
}

0개의 댓글