내 풀이
func solution(_ x:Int, _ n:Int) -> [Int64] {
return Array(1...n).map { Int64($0 * x) }
}
위 문제를 봤을 때 배열을 사용해 풀어야겠다는 생각이 먼저 들었다. x는 시작 숫자, n은 반복하는 횟수로 함수는 x부터 시작해 n번 반복하면서 각 반복에서 현재 숫서에 x를 곱한 값을 배열에 담아 반환하도록 했다.
만약 solution(2, 5)를 호출하면,
- 반복이 1회째일 때: 2 * 1 = 2
- 반복이 2회째일 때: 2 * 2 = 4
- 반복이 3회째일 때: 2 * 3 = 6
- 반복이 4회째일 때: 2 * 4 = 8
- 반복이 5회째일 때: 2 * 5 = 10
이므로 최종적으로 함수는 배열 [2, 4, 6, 8, 10]을 반환한다. Array(1...n)는 1부터 n까지의 숫자로 이루어진 배열을 생성하며, map 함수를 사용하여 각 숫자에 x를 곱한 값을 새로운 배열로 만들었다.
여기서 { Int64($0 * x) } 은 클로저(Closure)를 사용했다.
{ Int64($0 * x) }는 간단한 클로저로, $0은 클로저의 인자를 나타낸다. map 함수는 클로저를 배열의 각 요소에 적용하여 새로운 배열을 생성하는데, 이 클로저는 각 숫자에 x를 곱한 값을 Int64로 변환하여 반환한다.
클로저란? 자세한 정리는 노션으로
- 코드 블록으로, 함수나 메서드와 같이 독립적으로 이름을 가지지 않고도 실행 가능한 코드
(Swift에서 클로저는 중괄호 {}로 감싸져 있음)
' 𝗔𝗣𝗣𝗟𝗘 > ALGORITHM' 카테고리의 다른 글
[내일배움캠프] 데일리 루틴(iOS_3회차) - 문자열을 정수로 바꾸기 (0) | 2024.02.01 |
---|---|
[내일배움캠프] 데일리 루틴(iOS_3회차) - 자연수 뒤집어 배열로 만들기 (0) | 2024.01.31 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 배열의 평균값 (0) | 2024.01.31 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 짝수의 합 (0) | 2024.01.31 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 두 수의 나눗셈 (0) | 2024.01.31 |