나의 Algorithm 풀이

myAlgorithm

Why solved like this ?

가장 먼저 입출력 예시를 보고 n의 갯수만큼의 숫자가 배열에 들어가야 한다고 생각했다

그래서 1부터 n까지의 숫자를 for문을 이용하여 하나씩 빼내었다

그 후 x의 배수만큼씩 커지는 규칙이 보여 1부터 n까지 빼낸 숫자들을 

변수 temp에 넣어주었고 tempAnswer에 temp(1부터 n까지의 숫자)와 x를 곱한 숫자들을

넣어 "n개의 숫자가 x의 배수로 증가하는 것"을 만들었다 그리하여 그 숫자들을이 옵셔널로

구현되어 있어 guard let 구문을 이용하여 옵셔널을 벗겨주었고 그 결과를 return 하여

알고리즘 문제를 풀어내었다

다른 사람의 풀이

anotherSolve

다른 사람의 풀이에서 배운점

나는 여러 변수에 필요한 값들을 일일히 넣어주어 그 값들을 이용하여 연산하고

그 연산된 결과 값을 다시 배열에 넣고 그 배열을 다시 옵셔널을 벗겨주는 일까지 굉장히 많은 과정을

거쳤는데 위의 그림에서 보면 굉장히 간단한 규칙을 만들어 그 규칙 속에서 연산을 시도하여

코드도 짧고 간단하게 만들었다

굳이 여러 변수에 값을 넣어주지 않고 딱 필요한 변수들만 만들고 그곳에 값들을 넣어주어 연산하는

코드를 배웠으며 for 문을 통하여 1부터 n까지의 반복적인 작업 속에 x를 number 변수에 담는데

n번째 만큼의 x를 거듭 더해주면서 그 더해진 값들을 하나씩 numbers라는 배열에 담아내어

return 해주었다 이렇게 조금더 쉽고 간단하게 코드를 만들어야겠다는 생각을 했다