2562번: 최댓값
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어
www.acmicpc.net
1-1. Scanner 를 이용한 방식
fun main(args: Array<String>) = with(Scanner(System.`in`)) {
val maxArray = arrayListOf<Int>()
var maxLine = 0
var maxNum = 0
for (i in 0 until 9) {
val inputNum = nextInt()
maxArray.add(inputNum)
if (maxNum < maxArray[i]) {
maxNum = maxArray[i]
maxLine = i
}
}
println("$maxNum\n${maxLine + 1}")
}
1-2. Collections 를 이용한 방식
fun main(args: Array<String>) = with(Scanner(System.`in`)) {
val maxArray = arrayListOf<Int>()
for (i in 0 until 9) {
val inputNum = nextInt()
maxArray.add(inputNum)
}
val maxNum = Collections.max(maxArray)
val maxLine = maxArray.indexOf(maxNum)
println("$maxNum\n${maxLine + 1}")
}
2-1. BufferedReader 를 이용한 방식
fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
val maxArray = arrayListOf<Int>()
for (i in 0 until 9) {
val inputNum = readLine().toInt()
maxArray.add(inputNum)
}
val maxNum = Collections.max(maxArray)
val maxLine = maxArray.indexOf(maxNum)
println("$maxNum\n${maxLine + 1}")
}
2-2. 배열을 이용하지 않은 방식
fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
var maxNum = 0
var maxLine = 0
for (i in 0 until 9) {
val inputNum = readLine().toInt()
if (maxNum < inputNum) {
maxNum = inputNum
maxLine = i
}
}
println("$maxNum\n${maxLine + 1}")
}
'개발 > 알고리즘' 카테고리의 다른 글
[알고리즘] 백준 1929번 : 소수 구하기 (Koltin) (0) | 2020.12.06 |
---|---|
[알고리즘] 백준 2839번 : 설탕 배달 (Kotlin) (0) | 2020.12.02 |
[알고리즘] 백준 1152번 : 단어의 개수 (Kotlin) (0) | 2020.12.01 |
[알고리즘] 백준 10952번 : A+B-5 (Kotlin) (0) | 2020.11.19 |
[알고리즘] 백준 10871번 : X보다 작은 수 (Kotlin) (0) | 2020.11.18 |
댓글