[알고리즘] Swift x만큼 간격이 있는 n개의 숫자

이유진·2024년 3월 11일
0

알고리즘

목록 보기
16/32

문제 설명

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.


제한 조건

  • x는 -10000000 이상, 10000000 이하인 정수입니다.
  • n은 1000 이하인 자연수입니다.

입출력 예

xnanswer
25[2,4,6,8,10]
43[4,8,12]
-42[-4, -8]

풀이 과정

X씩 증가하는 수를 반복해서 리스트에 n개까지 추가해주면 된다.
반복을 위해 어김 없이 for ~ in 구문 사용해봤다.

  1. 변수 list를 빈 배열로 만들어 준다.
  2. for in 구문을 사용해 1부터 n까지의 수가 i에서 순회되도록 해준다.
  3. i 값에 x를 곱하면 x, 2x, 3x, … 이런식으로 x씩 증가하는 수를 얻을 수 있다.
  4. 선언했던 변수 list의 빈 배열에 append를 붙여주면 순회하면서 값이 추가된다.

Error

Empty collection literal requires an explicit type
list 변수를 선언할 때 타입을 지정해주지 않아서 에러가 났다.
빈 배열일 경우, 즉 값이 없을 경우에는 반드시 타입을 명시해주어야 한다!

타입 Int64 지정해주어서 해결!
값을 넣어서 잘 실행되는지 확인해보았다.


Solution

func solution(_ x:Int, _ n:Int) -> [Int64] {
    var list: [Int64] = []
    
    for i in 1...n {
      list.append(Int64( i * x ))
    }
    
    return list
}

0개의 댓글