TIL

dev-wholยท2021๋…„ 5์›” 14์ผ
0

โœ๐Ÿป ๋ฐฐ์—ด ๋ณต์Šต

1.

๋ฐฐ์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ์ „ํ™”๋ฒˆํ˜ธ ํ˜•์‹์˜ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜์‹œ์˜ค

์กฐ๊ฑด

๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ 8์ธ ๊ฒฝ์šฐ, ์•ž์— [0, 1, 0]์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

let output = ์ „ํ™”๋ฒˆํ˜ธํ˜•์‹๋ฆฌํ„ด([0, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8]);
console.log(output); // --> '(010)1234-5678'
output = ์ „ํ™”๋ฒˆํ˜ธํ˜•์‹๋ฆฌํ„ด([8, 7, 6, 5, 4, 3, 2, 1]);
console.log(output); // --> '(010)8765-4321'

ํ’€์ด

function ์ „ํ™”๋ฒˆํ˜ธํ˜•์‹๋ฆฌํ„ด(arr){
  //join์œผ๋กœ ๋ฐฐ์—ด์„ ์ŠคํŠธ๋ง์œผ๋กœ ๋ณ€ํ™”
  arr = arr.join('');
  //๋งŒ์•ฝ ๊ธธ์ด๊ฐ€ 8์ด๋ฉด (010)์„ ๋ถ™ํžŒ๋‹ค
  if(arr.length === 8){
    return `(010)${arr.slice(0,4)}-${arr.slice(4)}`;
  }
  //๋งŒ์•ฝ ๊ธธ์ด๊ฐ€ 11์ด๋ฉด ์ž๋ฅธ ๊ฐ’์„ ๋ฆฌํ„ด
  else if(arr.length === 11){
    return `(${arr.slice(0,3)})${arr.slice(3,7)}-${arr.slice(7)}`
  }
}

2.

์ˆ˜(num)๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ num๋ฒˆ์งธ๊นŒ์ง€ ์ด num + 1๊ฐœ์˜ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์„ ๋ฆฌํ„ดํ•˜์‹œ์˜ค.

์กฐ๊ฑด

ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์€ 0๋ฒˆ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

let output = ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด(6);
console.log(output[6]); // --> 8
output = ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด(10);
console.log(output[10]); // --> 55

ํ’€์ด

function ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด(num) {
  //๋ฐฐ์—ด์„ ๋‹ด์„ ๋ณ€์ˆ˜ ์ง€์ •
  let result = []; 
  //for๋ฌธ์œผ๋กœ num๊นŒ์ง€ ์ˆœํšŒ
  for(let i = 0; i <= num; i++){
    //i๊ฐ€ 0์ด๊ฑฐ๋‚˜ 1์ด๋ฉด ๋ฐ”๋กœ ํ‘ธ์‹œ
    if(i === 0){
      result.push(0)
    }else if(i === 1){
      result.push(1)
    }
    //๋‘˜๋‹ค ์•„๋‹๊ฒฝ์šฐ ๋ฐฐ์—ด์˜ i-1 i-2๋ฅผ ๋”ํ•ด์ค€๋‹ค
    else{
      result.push(result[i-1]+result[i-2])
    }
  }
  return result;
}

0๊ฐœ์˜ ๋Œ“๊ธ€