ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 약수
    백준 2023. 8. 1. 01:43
    728x90

    약간의 꼼수로 해결한 문제..

    문제

    양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.

    입력

    첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다.

    출력

    첫째 줄에 N을 출력한다. N은 항상 32비트 부호있는 정수로 표현할 수 있다.

    예제 입력 1

    2
    4 2
    
    

    예제 출력 1

    8
    
    

    예제 입력 2

    1
    2
    
    

    예제 출력 2

    4
    
    

    예제 입력 3

    6
    3 4 2 12 6 8
    
    

    예제 출력 3

    24
    
    

    예제 입력 4

    14
    14 26456 2 28 13228 3307 7 23149 8 6614 46298 56 4 92596
    
    

    예제 출력 4

    185192
    

    풀이


    약수의 개수를 입력받으라고 했는데 사실 그냥 입력만 받은 후 버리고

    입력한 약수 중 가장 작은 값과 가장 큰 값을 찾아 곱해서 진짜 N을 찾았다.

    배열에서 최대 최소를 찾을 때는 코틀린에서 제공하는 array.max() array.min()을 이용하였다.

    코드

    fun main() {
        var count = 0
        val input= readln().toInt()
        val numbers = readLine()!!.split(" ").map { it.toInt() }.toIntArray()
        val max:Int=numbers.max()
        val min:Int=numbers.min()
        println("${max*min}")
    }

    '백준' 카테고리의 다른 글

    동전 1 [자바]  (0) 2024.03.24
    소트인사이드  (0) 2023.08.02
    막대기  (0) 2023.08.01
    개수 세기  (0) 2023.08.01
    단어 정렬  (0) 2023.07.31
Designed by Tistory.