본문 바로가기
스터디(beakjoon)

Kotlin] 백준 2562번 문제 풀이

by 김마리님 2023. 4. 21.

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

 

2562번: 최댓값

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어

www.acmicpc.net

 

 

풀이

더보기

문제에 숫자 9개라고 지정되있으니까 9개의 크기를 가진 배열을 만들어두고 이 배열의 크기만큼 반복문을 돌며 배열에 입력값을 집어넣는다.

max를 통해 이 배열의 최댓값을 찾고, indexOf를 통해 해당 최댓값의 위치를 찾아 출력한다. 이 때, "숫자의 위치"를 물었으므로 배열의 위치가 아닌, 인간의 위치로 출력해야하므로 찾은 인덱스에서 + 1 을 해주어야 한다.

 

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter

fun main(args: Array<String>) {
    question2562()
}

fun question2562() {
    var reader = BufferedReader(InputStreamReader(System.`in`))
    var writer = BufferedWriter(OutputStreamWriter(System.out))

    var list = IntArray(9)

    for(i in list.indices) {
        list[i] = reader.readLine().toInt()
    }

    writer.write("${list.max()}\n")
    writer.write("${(list.indexOf(list.max())) + 1}")
    writer.flush()

}

 

반응형