class Solution {
fun solution(n: Int): Int {
//짝수, 홀수 구분
//짝수이면 짝수 0~n까지의 값 중 짝수만 추린다
// 나온 짝수의 총합을 구한다
//홀수라면 홀수 0~n까지의 값 중 홀수만 추린다
// 나온 홀수의 제곱한 값의 총합을 구한다.
var result = 0
if(n % 2 != 0){
for(value in 1..n){
if(value % 2 != 0){
result += value
}
}
}else{
for(value in 1..n){
if(value % 2 == 0){
result += value * value
}
}
}
return result
}
}
import kotlin.math.pow
class Solution {
fun solution(n: Int) = if (n % 2 != 0) (1..n step 2).sum() else (2..n step 2).map { it.toDouble().pow(2.0) }.sum().toInt()
}
class Solution {
fun solution(n: Int): Int {
return if(n % 2 == 0) {
(n downTo 1 step 2).sumOf { it * it }
} else {
(n downTo 1 step 2).sum()
}
}
}
🖊 내 문제 풀이에 필요했던 것들
🖊 남 문제풀이에 사용된 것들
1..10 step 2
는 1부터 10까지의 범위에서 2씩 증가하는 숫자를 생성한다.(1..10 step 2) // 1, 3, 5, 7, 9
n downTo 1 step 2
는 n에서부터 1까지 2씩 감소하는 숫자들을 생성합니다. 즉, n, n-2, n-4, ... 이렇게 진행됩니다.val n = 10
println((n downTo 1 step 2).toList()) // 출력: [10, 8, 6, 4, 2]
sumOf
val numbers = listOf(1, 2, 3)
println(numbers.sumOf { it * it }) // 출력: 1*1 + 2*2 + 3*3 = 14
sum
val numbers = listOf(1, 2, 3)
println(numbers.sum()) // 출력: 6