[백준] 트로피 진열 (1668)(kotlin)

문제 설명

백준 1668번 문제 링크

입력 및 출력

» 입력

첫째 줄에 트로피의 개수 N (1 ≤ N ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 왼쪽의 트로피부터 차례대로 높이가 주어진다. 트로피의 높이는 100보다 작거나 같은 자연수이다.

» 출력

첫째 줄에 왼쪽에서 봤을 때 보이는 개수, 둘째 줄에 오른쪽에서 봤을 때 보이는 개수를 출력한다.

예제 입출력(테스트케이스)

입력 출력
5
1
2
3
4
5
5
1

문제 풀이1

import java.io.BufferedReader
import java.io.InputStreamReader

fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
    val N = readLine().toInt()
    var bigger = 0
    var count = 0
    val list = MutableList(N) {
        val tropy = readLine().toInt()

        bigger = if (bigger < tropy) {
            count++
            tropy
        } else {
            bigger
        }

        tropy
    }

    println(count)
    count = 0
    bigger = 0

    for (i in list.size - 1 downTo 0) {
        bigger = if (list[i] > bigger) {
            count++
            list[i]
        } else {
            bigger
        }
    }

    println(count)
}