프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/70128
내가 제출한 풀이
import Foundation
func solution(_ a:[Int], _ b:[Int]) -> Int {
let count: Int = a.count
var value: Int = 0
for i in 0 ... count - 1 {
value += a[i] * b[i]
}
return value
}
풀이 과정
- 길이가 같은
- 1차원 정수
배열 a, b의 내적을 반환하는 문제이다
우선 길이가 같은 배열이므로 둘 중 하나의 길이(count)만큼만 반복문을 돌려주기로 한다.
for - in 문을 count를 범위로 지정해서 돌리면 index를 받아서 사용할 수 있다.
a 배열과 b 배열을 반복문 안에서 받은 index를 사용해서 순서대로 계산한다.
for i in 0 ... count - 1 {
...
}
여기서 계산할 수 있는 방법은 두 가지가 있다고 생각하는데,
- 배열에 따로 담아둔 다음 반복문이 끝나면 joined 하기
- 변수를 만들어 반복문 안에서 바로 계산해버리기
나는 2번이 더 간편하다고 생각했기 때문에 2번으로 풀었다.
변수 value 를 만든 다음, 더하기 할당 연산자로 바로 value 에 계산해서 담아준다.
let count: Int = a.count
var value: Int = 0
for i in 0 ... count - 1 {
value += a[i] * b[i]
}
내적 계산법이 제시되어 있어서 풀기에 어렵지는 않았던듯
'알고리즘 > Programmers' 카테고리의 다른 글
[Swift_Programmes] 문자열 내림차순으로 배치하기 (0) | 2023.11.28 |
---|---|
[Swift_Programmes] 약수의 개수와 덧셈 🌟 (0) | 2023.11.27 |
[Swift_Programmes] 수박수박수박수박수박수? (1) | 2023.11.27 |
[Swift_Programmes] 가운데 글자 가져오기 (1) | 2023.11.27 |
[Swift_Programmes] 없는 숫자 더하기 (2) | 2023.11.23 |