Kotlin/Kotlin 알고리즘

백준 1075번 나누기 Kotlin 구현해보기

kimc 2022. 11. 19. 10:22

```

백준 1075번 나누기 Kotlin 구현해보기

```

Kimc Kotlin Study

이번 글을 통해 배워갈 내용

  1. 백준 1075번 풀이

https://www.acmicpc.net/problem/1075

 

1075번: 나누기

첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다.

www.acmicpc.net

 

백준 1075번 나누기는

난이도 브론즈 등급의 문제로서

 

100보다 크거나 같고 2,000,000,000 보다 작은 정수 N과

100 보다 작거나 같은 자연수 F가 주어질 때

 

N의 1자리 10자리 수를 바꿔서 F로 나누어지는 최소 수를 구하면 됩니다.

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


Brute Force로 구했습니다.

fun main(args: Array<String>) {
    // input
    val n = readln().toInt()
    val f = readln().toInt()
    print(solution(n, f))
}

fun solution(n: Int, f: Int): String {

    val n2 = (n / 100) * 100
    var ans = "NAN"

    for (i in 0..99) {
        if ((n2 + i) % f == 0) {
            ans = i.toString()
            if (ans.length == 1) {
                ans = "0$ans"
            }
            break
        }
    }
    return ans
}


// https://codemasterkimc.tistory.com/

 

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

internal class MainKtTest {

    @Test
    fun test() {
        assertEquals("02", solution(1000, 3))
        assertEquals("00", solution(2000000000, 100))
        assertEquals("00", solution(23442, 75))
        assertEquals("15", solution(428392, 17))
        assertEquals("72", solution(32442, 99))
    }
}

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 


 

728x90