Programmers/Lv. 1

[Kotlin] Programmers Lv.1 내적

chattymin 2023. 9. 4. 11:04
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/70128

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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
반응형