문제 설명
길이가 같은 두 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의 길이)
제한사항
a, b의 길이는 1 이상 1,000 이하입니다.
a, b의 모든 수는 -1,000 이상 1,000 이하입니다.
1차 고민
map을 사용해서 새로운 배열을 리턴해야겠다는 생각은 들었다.
그리고 그 모든 배열의 합을 더해야하는데 평소같으면 for문 돌려서 result에 더했겠지만
reduce를 사용해서 합을 내기로 했다.
1차 코드
import Foundation
func solution(_ a:[Int], _ b:[Int]) -> Int {
return (0..<a.count).map { a[$0] * b[$0] }.reduce(0, +)
}
1차 결과

다른 사람의 풀이
import Foundation
func solution(_ a:[Int], _ b:[Int]) -> Int {
zip(a, b).map{ $0 * $1 }.reduce(0,+)
}
zip은 또 무엇인고... 오늘도 새로운 걸 알아가는 하루이다...
'iOS > Programmers' 카테고리의 다른 글
[Swift] lv.1 가운데 글자 가져오기 | Programmers (0) | 2024.03.11 |
---|---|
[Swift] lv.1 수박수박수박수박수박수? | Programmers (0) | 2024.03.08 |
[Swift] lv.1 제일 작은 수 제거하기 | Programmers (0) | 2024.03.06 |
[Swift] lv.1 콜라 문제 | Programmers (0) | 2024.03.06 |
[Swift] lv.1 푸드 파이트 대회 | Programmers (2) | 2024.03.05 |
문제 설명
길이가 같은 두 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의 길이)
제한사항
a, b의 길이는 1 이상 1,000 이하입니다.
a, b의 모든 수는 -1,000 이상 1,000 이하입니다.
1차 고민
map을 사용해서 새로운 배열을 리턴해야겠다는 생각은 들었다.
그리고 그 모든 배열의 합을 더해야하는데 평소같으면 for문 돌려서 result에 더했겠지만
reduce를 사용해서 합을 내기로 했다.
1차 코드
import Foundation
func solution(_ a:[Int], _ b:[Int]) -> Int {
return (0..<a.count).map { a[$0] * b[$0] }.reduce(0, +)
}
1차 결과

다른 사람의 풀이
import Foundation
func solution(_ a:[Int], _ b:[Int]) -> Int {
zip(a, b).map{ $0 * $1 }.reduce(0,+)
}
zip은 또 무엇인고... 오늘도 새로운 걸 알아가는 하루이다...
'iOS > Programmers' 카테고리의 다른 글
[Swift] lv.1 가운데 글자 가져오기 | Programmers (0) | 2024.03.11 |
---|---|
[Swift] lv.1 수박수박수박수박수박수? | Programmers (0) | 2024.03.08 |
[Swift] lv.1 제일 작은 수 제거하기 | Programmers (0) | 2024.03.06 |
[Swift] lv.1 콜라 문제 | Programmers (0) | 2024.03.06 |
[Swift] lv.1 푸드 파이트 대회 | Programmers (2) | 2024.03.05 |