문제 설명
함수 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 |