반응형
25314번 코딩은 체육과목입니다.


문제를 확인해보면, N 은 4의 배수로 주어지며, 4 이상 1000 이하이므로, Int 형을 사용해도 상관없다.
예제 입력1 과 예제 출력1을 보면 N 을 4로 나눈 몫 만큼 long 을 붙이고 마지막에 int 를 붙이는 모양인 것을 알 수 있다.
풀이 코드는 다음과 같다.
import java.io.BufferedReader
import java.io.InputStreamReader
fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
try {
val input = readLine().toInt()
if(input < 4 || input > 1000) {
throw Exception("Range Error")
}
val loop = input.toInt() / 4
for(i in 0 until loop) {
print("long ")
}
print("int")
} catch(e: NumberFormatException) {
println("NumberFormatException")
} catch(e : Exception) {
println("Exception :: ${e.message}")
}
}
입력이 4 이상 1000 이하라고 되어있었지만, try-catch 를 사용하여 입력값이 범위를 벗어났을때 처리를 해주었다.
또한, 입력이 정수라고 되어있지만, 만일을 위해 int 로 형변환 했을 경우의 오류 처리 또한 추가해주었다.
입력값 N(코드에서는 loop) 만큼 반복하여 long 을 출력해주고, 마지막에 int 를 출력하는 형태로 해결하였다.
필자가 한 것처럼 try-catch 를 통한 예외처리는 생략해도 된다. 중요한 부분은
val input = readLine().toInt()
val loop = input.toInt() / 4
for(i in 0 until loop) {
print("long ")
}
print("int")
만 해주면 쉽게 해결되는 문제이다.
반응형
'코딩테스트' 카테고리의 다른 글
[백준] 10811 바구니 뒤집기 - Kotlin(코틀린) (1) | 2025.04.14 |
---|---|
[백준] 10810번 공 넣기 - Kotlin(코틀린) (1) | 2025.04.11 |
[백준] 11382번 꼬마 정민 - Kotlin(코틀린) (0) | 2025.04.11 |
Java(자바) - 선택정렬, 버블정렬, 삽입정렬, LRU(Least Recently Used) (0) | 2023.01.07 |
[백준] 1157번 단어공부 - Java(자바) (0) | 2023.01.06 |