🗒 문제
📝 나의 문제풀이
class Solution {
fun solution(num_list: IntArray): Int {
val odd = num_list.filterIndexed{i,_ -> i % 2 == 0}.sum()
val even = num_list.filterIndexed{i,_ ->i % 2 != 0}.sum()
return if(odd > even) odd else even
}
}
📝 다른 사람의 문제 풀이
import kotlin.math.*
class Solution {
fun solution(num_list: IntArray): Int {
var answer: Int = 0
return max(
num_list.filterIndexed { i, v -> i % 2 == 0}.sum(),
num_list.filterIndexed { i, v -> i % 2 == 1}.sum()
)
}
}
🖊 문제 풀이 시 알면 좋을 것
- filterIndexed 사용법
- 설명: 인덱스와 값을 기준으로 필터링.
- 반환 타입: List<T> (필터링된 결과의 리스트)
// 사용법
collection.filterIndexed { index, value -> 조건 }
// 예
val evenIndex = listOf(1, 2, 3, 4).filterIndexed { i, _ -> i % 2 == 0 }
println(evenIndex) // [1, 3] (0, 2 인덱스 값)
- sum() 함수
- 설명: 컬렉션의 모든 원소의 합을 계산.
- 반환 타입: Int 또는 Double (컬렉션의 타입에 따라 다름)
val sum = listOf(1, 2, 3).sum()
println(sum) // 6
- max 함수
- 설명: 두 값 중 더 큰 값을 반환.
- 반환 타입: 비교한 값의 타입 (Int, Double, 등)
val maxValue = max(5, 10)
println(maxValue) // 10
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 수열과 구간 쿼리 1 (0) | 2025.01.17 |
---|---|
[프로그래머스] n보다 커질 때까지 더하기 (0) | 2025.01.17 |
[프로그래머스] 할 일 목록 (0) | 2025.01.17 |
[프로그래머스] 5명씩 (0) | 2025.01.17 |
[프로그래머스] n 번째 원소까지 (0) | 2025.01.16 |