[백준] 부호 (1247)(kotlin)

문제 설명

백준 1247번 문제 링크

입력 및 출력

» 입력

총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1≤N≤100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거나 같다.

» 출력

총 3개의 줄에 걸쳐 각 테스트 셋에 대해 N개의 정수들의 합 S의 부호를 출력한다. S=0이면 “0”을, S>0이면 “+”를, S<0이면 “-“를 출력하면 된다.

예제 입출력

입력 출력
3
0
0
0
10
1
2
4
8
16
32
64
128
256
-512
6
9223372036854775807
9223372036854775806
9223372036854775805
-9223372036854775807
-9223372036854775806
-9223372036854775804
0
-
+

문제 풀이1

import java.math.BigInteger
import java.util.Scanner

fun main(args: Array<String>) = with(Scanner(System.`in`)){
    repeat(3) {
        var result = BigInteger.ZERO

        repeat(nextInt()) {
            result += nextBigInteger()
        }

        println(
            when {
                result < BigInteger.ZERO -> "-"
                result > BigInteger.ZERO -> "+"
                else -> "0"
            }
        )
    }
}