
(1) 나의 풀이
function solution(n) {
for (let x=2; x<n; x++) {
if (n % x === 1) {
return x
}
}
}
=> 제한조건을 보면 n이 3이상이므로, 나누는 수의 최솟값이 1이 될 수 없기 때문에 for문의 초기값을 2로 지정하였다.
(2) 다른 사람의 풀이
function solution(n, x = 1) {
while (x++) {
if (n % x === 1) {
return x;
}
}
}
=> while문을 사용하여 보다 간결하게 풀었다.

(1) 나의 풀이
function solution(x, n) {
var answer = [];
for (let i = 1; i <= n; i++) {
answer.push(x * i);
}
return answer;
}
=> answer이 배열을 반환하기 때문에 빈배열을 먼저 만들었고, for문을 통해 i를 n까지 증가시키면서 그 값을 push를 사용하여 값을 담아야한다고 생각했다. x씩 증가하는 숫자들이므로 x를 곱해서 배열에 넣으면 되겠다고 생각했다.
(2) 다른 사람의 풀이
function solution(x, n) {
return Array(n).fill(x).map((v, i) => (i + 1) * v)
}
=> n개의 길이를 갖는 배열을 만들고, fill(x)를 통해 그 배열안의 값을 모두 x로 만들었다. (시작점이 x이므로) 그리고 map을 통해 반복할 행위를 지정해줬는데, 배열의 모든 요소를 돌면서 x를 곱하는 행위이다. i + 1로 만들어준 이유는 인덱스는 0부터 시작하기 때문이다. 각 요소마다 x를 곱하면서 배열을 채우고 값을 리턴할 수 있다.