0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
1 ≤ numbers의 길이 ≤ 9
0 ≤ numbers의 모든 원소 ≤ 9
numbers의 모든 원소는 서로 다릅니다.
1~9 까지 길이의 numbers를 랜덤으로 생성한뒤 그 안의 원소들을 랜덤하게 채워주자
mutablesetof를 이용해 중복이되지 않게 예방
while (arr.size < size) {
do {
x = Random.nextInt(0, 9)
} while (!arr.add(x))
}
배열의 크기가 사이즈만큼 될때까지 반복하고 do-while문을 써 arr에 이미 있는수면 계속 랜덤함수를 돌리게 만들었다
fun solution(numbers: IntArray): Int {
var answer: Int = 0
var i = 0
val sum = (0..9).sum()
while (i < numbers.size){
answer += numbers[i]
i++
}
return sum - answer
}
그냥 모든수를 더한뒤 0~9까지의 합인 45에서 빼주고 나머지를 출력한다
package com.example.codekata
import kotlin.random.Random
fun main() {
val arr = makenumbers()
println("배열 ${arr.toList()}")
println("result:${solution(arr)}")
}
fun solution(numbers: IntArray): Int {
var answer: Int = 0
var i = 0
val sum = (0..9).sum()
while (i < numbers.size){
answer += numbers[i]
i++
}
return sum - answer
}
fun makenumbers (): IntArray {
val size = Random.nextInt(1,9)
var arr = mutableSetOf<Int>()
var x = 0
while (arr.size < size) {
do {
x = Random.nextInt(0, 9)
} while (!arr.add(x))
}
return arr.toIntArray()
}
결과