안드 공부를 해볼까?

[Kotlin] 최소, 최대 본문

알고리즘/지식

[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로 오름차순 정렬을 했다.

반응형

'알고리즘 > 지식' 카테고리의 다른 글

[Java] 이진수  (0) 2023.02.21
[Java] 약수 구하기  (0) 2023.02.20
Comments