[TIL] 24.01.04

sssujijjl·2024년 1월 4일

[TIL]

목록 보기
11/51

[문제]

  • 정수 x와 자연수 n을 입력 받아,
    x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 반환

[풀이]

let x = 2;
let n = 5;

1)

function solution(x, n) {
    let num = [];
    
    for (let i = x; i <= n * x ; i++) {
        num.push(x+i);
    }
    return num;
}
  1. result = [4, 5, 6, 7, 8, 9, 10, 11, 12]

인덱스값이 증가하면서 그 숫자들을 전부 넣어서 반환해준다.

2)

function solution(x, n) {
    let num = [];
    
    for (let i = x; i <= n * x ; i+=x) {
        num.push(x+i);
    }
    return num;
}
  1. result = [4,6,8,10,12]

처음 x의 값이 들어가지 못하고, 음수는 실행되지 않는다.

3)

function solution(x, n) {
    let num = [x];
    
    for (let i = x; i < n * x ; i+=x) {
        num.push(x+i);
    }
    return num;
}
  1. result = [2, 4, 6, 8, 10]

반은 정답이다! 양수에서는 실행되지만 음수에서는 실행되지 않는다.
num 변수에 x값을 넣어두고, 조건식을 i < n * x 까지만 실행하여 12가 나오지 않도록 하였다.

4)

function solution(x, n) {
    let num = [];
    
    for (let i=x; num.length < n; i+= x) {
        num.push(i);
    }
    return num;
}

4번은 양수도 음수도 실행된다.
조건식을 num의 길이가 n의 숫자랑 같아질 때 멈추도록하였다.

[배운점]

코드를 너무 어렵게만 생각하지말고 문제를 읽고 어떻게 구성할지 차근차근 생각해보고, 만약 틀렸다고 하더라도 값을 대입하여 풀다보면 풀 수 있는거 같다!!
모르는 걸 배우는 것과 틀리는 것을 두려워하지말자.

0개의 댓글