Очень базовая c помощь упражнения ----- Kotlin - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь выполнить это упражнение

https://www.hackerrank.com/challenges/compare-the-triplets/problem?h_r=next-challenge&h_v=zen

Я уже написал код, но результат не верный, и для моих глаз все хорошо

Может кто-нибудь сказать мне, что не так? спасибо


    import java.util.Scanner
fun main(){
    var loop = 0
var score = Array<Int>(2){0}
val reader = Scanner(System.`in`)
var alice:String = readLine().toString()
    var bob:String = readLine().toString()
    val numerosa: List<String> =  alice.split(" ")
    val numerosb:List<String> = bob.split(" ")
    for(a in 3..3) {

        when (numerosa[loop].toInt()) {
            in numerosb[loop].toInt() + 1..100 -> score[0] += 1
            in numerosb[loop].toInt() - 1..0 -> score[1] += 1
        }
        loop += 1
    }
println("${score[0]} ${score[1]}")

}

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете сделать это примерно так, у вас есть несколько переменных, которые не требовались, поэтому я очистил код.

val score = Array(2) { 0 }
val aliceNumbers = readLine()!!.split(" ").map(String::toInt)
val bobNumbers = readLine()!!.split(" ").map(String::toInt)

require(aliceNumbers.size == 3 && bobNumbers.size == 3) { "There must be 3 numbers for each" }
require(!aliceNumbers.any { it !in 1..100 } || !bobNumbers.any { it !in 1..100 }) { "Numbers must be in range 1 to 100" }

for (a in 0..2) {
    if(aliceNumbers[a] > bobNumbers[a]) score[0] += 1
    if(aliceNumbers[a] < bobNumbers[a]) score[1] += 1
}
println("${score[0]} ${score[1]}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...