[백준] 부호 (1247)(kotlin)
문제 설명
입력 및 출력
» 입력
총 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"
}
)
}
}