코틀린/백준
[백준 10926] ??! - 코틀린(Kotlin)
Jakorithm
2023. 10. 2. 00:22
728x90
문제
https://www.acmicpc.net/problem/10926
10926번: ??!
준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때
www.acmicpc.net
코드
입력받은 문자열에 "??!" 문자열을 붙인 후 출력하는 문제다.
코틀린 표준 라이브러리 활용
fun main() {
val input = readLine()
println("$input??!")
}
fun main() {
val input = readln()
println("$input??!")
}
fun main() {
val input = readlnOrNull()
println("$input??!")
}
- readLine() : 입력을 한 줄씩 읽는다. 입력이 끝나면 null을 반환한다.
- readln() : 개행 문자(\n)를 포함하여 한 줄씩 읽는다. 입력 값이 없다면 ReadAfterEOFException을 발생시킨다.
- readlnOrNull : 개행 문자(\n)를 포함하여 한 줄씩 읽는다. 입력 값이 없다면 null을 반환한다.
Scanner 활용
import java.util.Scanner
fun main() {
val sc = Scanner(System.`in`)
println("${sc.nextLine()}??!")
}
- 자바 Scanncer를 활용하여 문자열을 입력받을 수 있다.
import java.util.Scanner
fun main() = with(Scanner(System.`in`)) {
println(nextLine() + "??!")
}
- with 블록을 통해 자바의 Scanner를 보다 가독성 있게 표현할 수 있다.
BufferedReader 활용
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
println("${br.readLine()}??!")
}
- BufferedReader와 InputStreamReader를 통해 한 줄씩 문자열을 입력받을 수 있다.
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
println(readLine() + "??!")
}
- 마찬가지로 with 블록을 입력받아 처리할 수 있다.
728x90