[백준] 네 번째 수 (2997)(kotlin)
문제 설명
입력 및 출력
» 입력
첫째 줄에 상근이가 고른 네 개의 숫자 중 세 개가 주어진다. 이 숫자는 크기 순이 아닐 수도 있고, -100보다 크거나 같고, 100보다 작거나 같은 정수이다.
» 출력
첫째 줄에 네 번째 숫자를 출력한다. 정답이 여러 개일 경우에는 아무거나 출력하면 된다. 또한 정답이 존재하지 않는 경우는 입력으로 주어지지 않는다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
4 6 8 | 10 |
문제 풀이1
import java.io.BufferedReader
import java.io.InputStreamReader
import kotlin.math.abs
fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
val nums = readLine()
.split(" ")
.map { it.toInt() }
.sorted()
val one = abs(nums[1] - nums[0])
val two = abs(nums[2] - nums[1])
if (one == two) {
println(nums[2] + (nums[2] - nums[1]))
} else {
val min = Math.min(one, two)
for(i in 0 until 3) {
if (i != 2 && nums[i] + min != nums[i + 1]) {
println(nums[i] + min)
break
}
}
}
}