1주차 주말 자습

냐하호후·2021년 6월 19일
0

make Odd Digits


let output = makeOddDigits(3);
console.log(output); // --> "135"

output = makeOddDigits(5);
console.log(output); // --> "13579"
//num를 입력받는다
//1부터 시작해서 2씩 추가된 홀수가 결과로 나온다
//num의 개수만큼 홀수 값이 나온다
//그 값을 문자열로 리턴한다
function makeOddDigits(num) {
let result =''

let count = 0; //
let i = 1; //출력 값은 1부터 시작됌
while(count < num){
result = result + String(i) //결과 값은 i씩 증가합니다
i = i + 2 ; // 1,3,5...이렇게 증가하기 위해서
count++
}
return result;
}

틀린 이유

  1. '' 와 ' '는 다르다. 이 차이를 몰랐다.

  2. result값을 while문 안에 적긴 했으나 i= i+2,count++밑에 뒀다가 위로 올리니까 맞았다.

  • result를 선언하고 string값으로 할당시켰다.
    count 라는 변수는 0으로 할당되었다.
    count< num의 조건을 확인하면 밑의 내용이 반복될 것이다.
    {
    i가 1부터 시작하고 count는 0에서 시작하므로 처음 값은 1이 나온다
    i 는 2씩 커지므로 3, 5 ,7 ...나열된다
    }
    result 값이 리턴된다.

내가 처음에 썼던 오답코드를 사용해서 result가 i와 count보다 아래에 있었다면
i는 1 count 는 0이므로
i는 처음부터 3이된다.

make Multiple of Digits

let output = makeMultiplesOfDigit(7);
console.log(output); // --> "36"

output = makeMultiplesOfDigit(19);
console.log(output); // --> "369121518"
function makeMultiplesOfDigit(num) {
let result = '';
for(let i=3; i<= num; i= i+3){   // 시작: i는 3부터 // 조건:i 값은 num보다 작거나 같다 // i는 3씩 증가한다
result = result + String (i) // result는 i씩 증가한다.
}
return result;
}

//숫자를 입력하면
//입력값보다 i가 작다면 반복된다
//make 함수의 역할은 차례로 3의배수가 커지도록 반복문을 쭈욱 반복시키는 역할이다
//i 는 2씩 차례로 커지는 3의 배수이다
//입력값아래에있는 3의배수가 출력된다

// result 다 지우고 그냥 마지막에 return String(i)하면 왜 틀리냐
//--> 그러면 뭐 for문안에 아무것도 없는데? 그리고 그냥 String(i)를 쓰면 정지된 i값만 나와야 하는데 뭐 아무 식도 없음
//result = result + i --> result 는 i 씩 증가합니다 가 되어야 i 가 3씩 커지면서 늘어나지

profile
DONE is better than PERFECT

0개의 댓글