주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.
import kotlin.math.*
class Solution {
fun solution(nums: IntArray): Int {
var answer = 0
for(i in 0 until nums.size-2){
for(j in i+1 until nums.size-1){
for(k in j+1 until nums.size){
var isPrime = true
val newNum = nums[i]+nums[j]+nums[k]
val sqrt = Math.sqrt(newNum.toDouble()).toInt()
for(l in 2 .. sqrt){
if(newNum % l == 0){
isPrime = false
break
}
}
if(isPrime){
answer += 1
}
}
}
}
return answer
}
}
하 .. 수학이 싫당..
처음에 안풀려서 보니까 또 문제 제대로안읽어서..
인덱스 시작 다 0부터 시작하면 안되는데,, 다 0부터 시작해서 중복되고있었음..
근데 그러고도 안돼서 뭐지 했는데 나머지연산자 써야될 곳에 나누기 연산자 써서 그랬음..
걍 정신 못차림