ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kotlin 🍬 λ°±μ€€ 9단계 :: 2581 번
    2023. 5. 19. 04:00
    λ°˜μ‘ν˜•

    μ†Œμˆ˜

    문제   |

      μžμ—°μˆ˜ Mκ³Ό N이 μ£Όμ–΄μ§ˆ λ•Œ M이상 Nμ΄ν•˜μ˜ μžμ—°μˆ˜ 쀑 μ†Œμˆ˜μΈ 것을 λͺ¨λ‘ 골라 이듀 μ†Œμˆ˜μ˜ ν•©κ³Ό μ΅œμ†Ÿκ°’μ„ μ°ΎλŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

      예λ₯Ό λ“€μ–΄ M=60, N=100인 경우 60이상 100μ΄ν•˜μ˜ μžμ—°μˆ˜ 쀑 μ†Œμˆ˜λŠ” 61, 67, 71, 73, 79, 83, 89, 97 총 8κ°œκ°€ μžˆμœΌλ―€λ‘œ, 이듀 μ†Œμˆ˜μ˜ 합은 620이고, μ΅œμ†Ÿκ°’μ€ 61이 λœλ‹€.

     

    μž…λ ₯   |

      μž…λ ₯의 첫째 쀄에 M이, λ‘˜μ§Έ 쀄에 N이 주어진닀.

      Mκ³Ό N은 10,000μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ©°, M은 N보닀 μž‘κ±°λ‚˜ κ°™λ‹€.

     

    좜λ ₯   |

      M이상 Nμ΄ν•˜μ˜ μžμ—°μˆ˜ 쀑 μ†Œμˆ˜μΈ 것을 λͺ¨λ‘ μ°Ύμ•„ 첫째 쀄에 κ·Έ 합을, λ‘˜μ§Έ 쀄에 κ·Έ 쀑 μ΅œμ†Ÿκ°’μ„ 좜λ ₯ν•œλ‹€.

      단, M이상 Nμ΄ν•˜μ˜ μžμ—°μˆ˜ 쀑 μ†Œμˆ˜κ°€ 없을 κ²½μš°λŠ” 첫째 쀄에 -1을 좜λ ₯ν•œλ‹€.

     

     

    풀이  |

      Mκ³Ό N을 μž…λ ₯λ°›μ•„ M 이상 N μ΄ν•˜μ˜ μžμ—°μˆ˜ 쀑 μ†Œμˆ˜μΈ κ²ƒμ˜ ν•©κ³Ό κ·Έ μ΅œμ†Ÿκ°’μ„ κ΅¬ν•œλ‹€.

     

     

    λ‹΅μ•ˆ  |

    import java.util.Scanner
    
    fun main() = with(Scanner(System.`in`)) {
        val M = nextInt()
        val N = nextInt()
        var result = 0
        var minimum = 0
        
        for (i in N downTo M) {
            if (isPrime(i)) {
                result += i
                minimum = i
            }
        }
        
        if (result == 0) {
            print(-1)
        } else {
            print("$result\n$minimum")
        }
    }
    
    fun isPrime(num: Int): Boolean {
        if (num == 1) return false
        
        for (j in 2..num - 1) {
            if (num % j == 0) return false
        }
        
        return true
    }
    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.