x만큼 간격이 있는 n개의 숫자

문제 설명
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
제한 조건
x는 -10000000 이상, 10000000 이하인 정수입니다.
n은 1000 이하인 자연수입니다.
func solution(_ x:Int, _ n:Int) -> [Int] {
    if x == 0 {
        return Array(repeating: 0, count: n)
    }
    return Array(stride(from: x, to: x + n * x, by: x))
}

먼저 x 부터 시작해 x 씩 증가하는 이라는 문제를 봤을때 이전에 활용했던 stride 를 사용할 수 있을 것 같다고 생각했다.
시작 값 x , 간격 x , to : n 에 x 를 곱한 값과 x를 더한 값 ( n에 x를 곱해야 다음 수가 나온다 ex 2 4 6 8 10)
이렇게 설정 후 돌려보니 전부 테스트 합격 되었으나, 8번 문제에 오류가 나타났다.
8번 문제는 x가 0일 경우인 상황인데 0 이 들어갈 경우 리스트 자체가 만들어지지 않기 때문에 해당 오류가 나오는 것 같았다.

rray(repeating: 0, count: n)은 0을 n번 반복해서 가지고 있는 배열을 생성하는 역할할 수 있다.

x가 0일때 올바른 출력값이 나오기 위해 위에 식을 사용하여 0일 경우 0을 나열 할 수 있도록 추가하니 해당 문제를 풀 수 있었다.

'◽️ Programming > ◽️ Algorithm' 카테고리의 다른 글

문자열을 정수로 바꾸기  (0) 2024.03.03
자연수 뒤집어 배열로 만들기  (0) 2024.03.03
나머지가 1이 되는 수 찾기  (0) 2024.03.02
약수의 합  (0) 2024.03.02
자릿수 더하기  (0) 2024.03.02