• Home
  • About
    • Zzu-h photo

      Zzu-h

      주니어 Android 개발자입니다.

    • Learn More
    • Email
    • Instagram
    • Tistory
    • Github
  • Posts
    • All Posts
    • All Tags
    • All Categories
  • Projects

[BOJ] 4375 1

19 May 2022

Reading time ~1 minute

1

링크: https://www.acmicpc.net/problem/4375


단순 무식하게 1 -> 11 -> 111 로 증가시키며 나누어 떨어지는지 확인을 한다.
그 후 그 값의 자리수를 카운트하여 출력한다.


  • 정답 코드
import java.math.BigInteger

class Boj4375 {
    companion object{
        val zero = (0).toBigInteger()
        val ten = (10).toBigInteger()

        fun findNumber(n: BigInteger): BigInteger{
            var ret = (1).toBigInteger()

            while(ret.mod(n) != zero){
                ret *= ten
                ret++
            }

            return ret
        }

        fun getDigitCount(n: BigInteger): Int{
            var count = 0
            var N = n

            while(N != zero){
                count++
                N /= ten
            }

            return count
        }

        @JvmStatic
        fun main(args: Array<String>) {
            while(true) println(getDigitCount(findNumber((readLine() ?: break).toBigInteger())))
        }
    }
}


PSBOJsilver그리디 Share Tweet +1