728x90
https://school.programmers.co.kr/learn/courses/30/lessons/70128
Code
/*
class Solution {
fun solution(a: IntArray, b: IntArray): Int {
var answer: Int = 0
for (i in 0 until a.size){
answer += a[i] * b[i]
}
return answer
}
}
*/
class Solution {
fun solution(a: IntArray, b: IntArray): Int = a.zip(b).map { it.first * it.second }.sum()
}
첫 생각은 위에있는 코드와 같았다.
어차피 a와 b의 길이가 같으니까 a의 길이만큼 반복문을 진행하며 a의 i번째 값과 b의 i번째 값을 더하는 방식.
그런데 zip이라는 함수가 생각이 났고, a와 b를 묶어서 한번에 연산한다면 더 간단할 것 같아서 아래와 같은 코드를 구현했다.
공부를 하면서 계속 생각하지만 Kotlin은 내부 함수를 활용하는 능력이 중요한 것 같다.
728x90