문제링크
첫번째 시도 (메모리 초과)
fun main() {
val bufferedReader = System.`in`.bufferedReader()
val bufferedWriter = System.out.bufferedWriter()
val n = bufferedReader.readLine().toInt()
val stringBuilder = StringBuilder()
for (i in 1..n) {
stringBuilder.append(i)
}
bufferedWriter.write("${stringBuilder.length}")
bufferedReader.close()
bufferedWriter.close()
}
두번째 시도 (성공)
fun Int.getDigit(): Int {
var temp = this
var digit = 0
while (temp != 0) {
temp /= 10
digit++
}
return digit
}
fun main() {
val bufferedReader = System.`in`.bufferedReader()
val bufferedWriter = System.out.bufferedWriter()
val n = bufferedReader.readLine().toInt()
var answer = 0
for (i in 1..n) {
answer += i.getDigit()
}
bufferedWriter.write("$answer")
bufferedReader.close()
bufferedWriter.close()
}
주석 없는 코드를 만들기 위해 노력하는 개발자입니다.
혹시라도 의도가 분명하지 않아보이는 (이해가 되지 않는) 코드가 있으시다면 편하게 답변 달아주시면 정말 감사하겠습니다.