Programming/Algorithm
[Kotlin] ๋ฐฑ์ค 2501 - ์ฝ์ ๊ตฌํ๊ธฐ
Space_Jin
2024. 10. 19. 15:54
728x90
๋ฐ์ํ
๋ฌธ์
์ด๋ค ์์ฐ์ p์ q๊ฐ ์์ ๋, ๋ง์ผ p๋ฅผ q๋ก ๋๋์์ ๋ ๋๋จธ์ง๊ฐ 0์ด๋ฉด q๋ p์ ์ฝ์์ด๋ค.
6์ ์๋ก ๋ค๋ฉด
- 6 ÷ 1 = 6 … 0
- 6 ÷ 2 = 3 … 0
- 6 ÷ 3 = 2 … 0
- 6 ÷ 4 = 1 … 2
- 6 ÷ 5 = 1 … 1
- 6 ÷ 6 = 1 … 0
๊ทธ๋์ 6์ ์ฝ์๋ 1, 2, 3, 6, ์ด ๋ค ๊ฐ์ด๋ค.
๋ ๊ฐ์ ์์ฐ์ N๊ณผ K๊ฐ ์ฃผ์ด์ก์ ๋, N์ ์ฝ์๋ค ์ค K๋ฒ์งธ๋ก ์์ ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. N์ 1 ์ด์ 10,000 ์ดํ์ด๋ค. K๋ 1 ์ด์ N ์ดํ์ด๋ค.
ํ์ด
1. ๋๋จธ์ง๊ฐ 0์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ฉด ์ฝ์์ด๋ค.
2. N์ด 10,000์ดํ์ด๋ค -> ๋ฌด์ํ ๋ฐฉ๋ฒ์ธ 1๋ถํฐ N๊น์ง ๋ชจ๋ ํ์ธํด๋ 1๋ง๋ถ์ 1์ด(1์ต์ 1์ด๋ก ๊ฐ์ )
3. ์๊ฐ๋ณต์ก๋ O(N)์ด์ง๋ง N์ด 1์ต ์ดํ๋ก ์๊ธฐ์ ๋ฐฉ๋ฒ์ ์ฑํํ๋ค.
์ ์ถ ์ฝ๋
import java.util.*
fun main() = with(Scanner(System.`in`)) {
val N = nextInt() // ์
๋ ฅ๊ฐ ๋ฐ๊ธฐ
val K = nextInt() // ์
๋ ฅ๊ฐ ๋ฐ๊ธฐ
var C = 0
// 1๋ถํฐ N๊น์ง ๋ฃจํ
for(i in 1..N){
// ์ฝ์
if(N%i == 0){
C++
// K๋ฒ์งธ ์ฝ์
if(C == K){
// ์ถ๋ ฅ
println(i)
}
}
}
// ์ฝ์ ํ์ธ ์ข
๋ฃ
if(C < K) println(0)
}
728x90
๋ฐ์ํ