알고리즘/지식
[Kotlin] 최소, 최대
문바리
2023. 2. 24. 16:45
728x90
1. 개요
알고리즘을 처음부터 해보자는 마음으로 kotlin을 시작하였습니다.
간단한 알고리즘인 최소, 최대에 대해 작성해보겠습니다.
2. 본문
최소, 최대는 정렬만 할 줄 안다면 해결할 수 있다.
또한 코틀린이나 자바에서 이미 최고 성능을 낼 수 있는 정렬이 있으니 그것을 이용했다.
https://www.acmicpc.net/problem/10818
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
해당 문제를 기준으로 설명하겠습니다.
import java.io.BufferedReader
import java.io.InputStreamReader
fun main(args: Array<String>) {
val br = BufferedReader(InputStreamReader(System.`in`))
// 필요없는 값
val size = br.readLine()
// split으로 자르고, map으로 int로 변경, sortedBy로 정렬
val arr = br.readLine()
.split(" ")
.map { it.toInt() }
.sortedBy { it }
print("${arr[0]} ${arr[arr.size - 1]}")
}
split으로 각 데이터를 자른다음 map으로 int 형변환을 했다.
또한 sortedBy로 오름차순 정렬을 했다.
반응형