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