Jakorithm
article thumbnail
728x90

문제

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

 

10818번: 최소, 최대

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

www.acmicpc.net

 

 

코드

첫 번째 줄에 정수 n과 x가 주어지고, 두 번째 줄에는 n개의 정수가 주어진다. 이때 최솟값과 최댓값을 공백으로 구분하여 출력하는 문제다.

fun main() {
    val n = readln().toInt()
    val input = readln().split(" ").map { it.toInt() }
    var max = Int.MIN_VALUE
    var min = Int.MAX_VALUE

    repeat(n) {
        if (input[it] > max) {
            max = input[it]
        }

        if (input[it] < min) {
            min = input[it]
        }
    }

    println("$min $max")
}
  • n과 input을 차례대로 입력받는다.
  • 최댓값을 담을 변수 max를 Int.MIN_VALUE를 통해 Int 타입의 최솟값으로 초기화한다.
  • 반대로 최솟값을 담을 변수 min은 Int.MAX_VALUE로 Int 타입의 최댓값으로 초기화한다.
  • repeat() 함수를 통해 n번 반복하여 input[it]이 max보다 큰 경우 max에 input[it]을 담고, input[it]이 min보다 작은 경우 min에 input[it]을 담는다.
728x90