길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요.
이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이)
제한사항 | 입출력 예 |
|
내 생각
for문으로 길이만큼 받아서 answer에 다 더하기
내 풀이
class Solution { fun solution(a: IntArray, b: IntArray): Int { var answer: Int = 0 for (i in a.indices) { answer += a[i] * b[i] } return answer } }
다른 사람의 풀이class Solution { fun solution(a: IntArray, b: IntArray): Int = a.mapIndexed { index, it -> it * b[index] }.sum() }
알게된 점
1. indeices
IntArray의 size를 받아 for문을 사용하려했는데 indices를 알게되었다.
(a의 사이즈가 2이면 = 0..2)
2. 매핑 함수
map(), mapIndexed()는 매핑함수라고 하는데 forEach()함수와 유사하다. 집합 객체의 데이터 수만큼 반복하여 실행하는 것은 동일하나 forEach()와는 다르게 반환 값이 있다는 점이다.
val list = listOf<Int>(12, 8, 9, 20)
list.filter { it > 10 }
.map { it * 10 } // 120
.forEach { println(it) } //200
val list = listOf<Int>(12, 8, 9, 20)
list.filter { it > 10 }
.map { it * 10 }
.map { println(it) }
'프로그래머스' 카테고리의 다른 글
[프로그래머스_Kotlin] 문자열 다루기 기본 (0) | 2024.01.31 |
---|---|
[프로그래머스_Kotlin] 부족한 금액 계산하기 (0) | 2024.01.29 |
[프로그래머스_Kotlin] 문자열 내림차순으로 배치하기 (1) | 2024.01.29 |
[프로그래머스_Kotlin] 약수의 개수와 덧셈 (0) | 2024.01.29 |
[프로그래머스_Kotlin] 수박수박수박수박수박수? (1) | 2024.01.29 |