๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Java Script/๊ณต๋ถ€ ๊ธฐ๋ก

[JavaScript] Part3 Studying - 2

๐Ÿ“๋ฌธ์ œ ์ถœ์ฒ˜

     - ๋ฐ”๋‹๋ผ ์ฝ”๋”ฉ

๋ฌธ์ œ 4 - ๋ฌป๊ณ  ๋”๋ธ”๋กœ

/*
  
  < ๋ฌป๊ณ  ๋”๋ธ”๋กœ >

  ์ˆซ์ž ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์ด ์ธ์ž๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”!

  ๐Ÿ“Œ ๋ฐฐ์—ด์˜ ์š”์†Œ๊ฐ€ 2๋ฒˆ ๋ฐ˜๋ณต๋˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์ด ๋ฐ˜ํ™˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  ๐Ÿ“Œ ๋ฐ˜ํ™˜๋œ ๋ฐฐ์—ด์€ ์ธ์ž๋กœ ๋“ค์–ด๊ฐ„ ๋ฐฐ์—ด ๊ธธ์ด์˜ 2๋ฐฐ๊ฐ€ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  ๐Ÿ“Œ ๋นˆ ๋ฐฐ์—ด์ด ์ฃผ์–ด์งˆ ๊ฒฝ์šฐ๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.


  +--------------------------------------------------------------------+
  |                arr                   |            ๋ฆฌํ„ด ๊ฐ’            |
  +--------------------------------------------------------------------+  
  |               [1, 2]                 |         [1, 2, 1, 2]        |
  +--------------------------------------------------------------------+                   
  |              [1, 2, 3]               |      [1, 2, 3, 1, 2, 3]     |
  +--------------------------------------------------------------------+  
  |             [5, 7, 3, 1]             |   [5, 7, 3, 1, 5, 7, 3, 1]  |
  +--------------------------------------------------------------------+

*/

const arr1 = [1, 2, 1];
const arr2 = [1, 3, 5, 3, 1];
const arr3 = [1, 6, 8, 4, 2, 3];

function doubleArray(arr) {
  ๐Ÿ’ฌ;
}

const result1 = doubleArray(arr1); // [1, 2, 1, 1, 2, 1]๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
const result2 = doubleArray(arr2); // [1, 3, 5, 3, 1, 1, 3, 5, 3, 1]๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
const result3 = doubleArray(arr3); // [1, 6, 8, 4, 2, 3, 1, 6, 8, 4, 2, 3]๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

if (
  checkResult(result1, arr1) &&
  checkResult(result2, arr2) &&
  checkResult(result3, arr3)
) {
  alert("๐ŸŽ‰");
}

๋ฌธ์ œ ํ’€์ด

function doubleArray(arr) {
  if (arr.length === 0) {
    return [];
  }
  return arr.concat(arr);
}
  1. ๋ฌธ์ œ ์กฐ๊ฑด ์ค‘์— ๋นˆ ๋ฐฐ์—ด์ด ์ฃผ์–ด์งˆ ๊ฒฝ์šฐ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ, ๋งŒ์•ฝ arr์˜ ์ธ๋ฑ์Šค๊ฐ€ 0์ผ ๊ฒฝ์šฐ, (*๋นˆ๋ฐฐ์—ด์ผ ๊ฒฝ์šฐ) ๊ณต๋ฐฑ์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ฝ”๋“œ ์ž‘์„ฑ
  2. concat ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๊ธฐ์กด ๋ฐฐ์—ด + ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ถ™์—ฌ์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๋„๋ก ํ•จ์ˆ˜ ์ž‘์„ฑ

๋ฌธ์ œ 5 - ์ˆซ์ž ์ชผ๊ฐœ๊ธฐ

/*

  < ์ˆซ์ž ์ชผ๊ฐœ๊ธฐ >

  ์ˆซ์ž๊ฐ€ ์ธ์ž๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”!

  ๐Ÿ“Œ ์ฃผ์–ด์ง„ ์ •์ˆ˜ ๊ฐ ์ž๋ฆฟ์ˆ˜์˜ "์ˆซ์ž"๋ฅผ ์š”์†Œ๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  ๐Ÿ“Œ ๋ฐ˜ํ™˜๋œ ๋ฐฐ์—ด์˜ ์š”์†Œ๋Š” "๋ฌธ์ž์—ด"์ด ์•„๋‹Œ "์ˆซ์ž"๊ฐ€ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


  +--------------------------------------------------------------------+
  |                num                   |            ๋ฆฌํ„ด ๊ฐ’            |
  +--------------------------------------------------------------------+  
  |               2854                   |         [2, 8, 5, 4]        |
  +--------------------------------------------------------------------+                   
  |               96586                  |       [9, 6, 5, 8, 6]       |
  +--------------------------------------------------------------------+  
  |               136326                 |      [1, 3, 6, 3, 2, 6]     |
  +--------------------------------------------------------------------+

*/

const n1 = 370;
const n2 = 1357;
const n3 = 33333;

function splitNumber(num) {
  let numString = num.toString();
  let numArray = Array.from(numString);
  let result = numArray.map(Number);

  return result;
};

const result1 = splitNumber(n1); // [3, 7, 0]๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
const result2 = splitNumber(n2); // [1, 3, 5, 7]๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
const result3 = splitNumber(n3); // [3, 3, 3, 3, 3]๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

if (
  checkResult(result1, [3, 7, 0]) &&
  checkResult(result2, [1, 3, 5, 7]) &&
  checkResult(result3, [3, 3, 3, 3, 3])
) {
  alert("๐ŸŽ‰");
}

๋ฌธ์ œ ํ’€์ด

function splitNumber(num) {
  let numString = num.toString();
  let stringArray = Array.from(numString);
  let result = stringArray.map(Number);

  return result;
};
  1. ์ˆซ์ž์˜ ์ธ๋ฑ์Šค ๊ธธ์ด๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋„๋ก toString() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด์œผ๋กœ ๋ณ€๊ฒฝ
  2. ๋ฌธ์ž์—ด์„ Array.from() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์œผ๋กœ ๋ณ€๊ฒฝ
  3. Map()๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” Number()๋ฉ”์†Œ๋“œ๊ฐ€ ๊ฐ ๋ฐฐ์—ด๋งˆ๋‹ค ์ ์šฉ๋  ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ ์ž‘์„ฑ

๋ฌธ์ œ 6 - ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ

/*

  < ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ >

  ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ๋ฌธ์ž์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด, ๋‘ ๋ฒˆ์งธ ์ธ์ž๋กœ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์ด ๋“ค์–ด์™”์„ ๋•Œ,

  ๋‘ ๊ฐ€์ง€ ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ key, value๋กœ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.

  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”!

  ๐Ÿ“Œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  ๐Ÿ“Œ ๊ฐ์ฒด์˜ key ๊ฐ’์€ arr1์˜ ์š”์†Œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  ๐Ÿ“Œ ๊ฐ์ฒด์˜ value ๊ฐ’์€ arr2์˜ ์š”์†Œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  ๐Ÿ“Œ arr1, arr2 ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” ๊ฐ™์Šต๋‹ˆ๋‹ค.
  ๐Ÿ“Œ ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.


  +--------------------------------------------------------------------+
  |              arr1, arr2              |            ๋ฆฌํ„ด ๊ฐ’            |
  +--------------------------------------------------------------------+  
  |      ["A", "B", "C"], [10, 20, 30]   |   { A: 10, B: 20, C: 30 }   |
  +--------------------------------------------------------------------+
  |   ["D", "E", "F", "G"], [7, 4, 6, 8] | { D: 7, E: 4, F: 6 , G: 8 } |                   
  +--------------------------------------------------------------------+  
  |       ["Jett", "Ken"], [30, 40]      |    { Jett: 30, Ken, 40 }    |
  +--------------------------------------------------------------------+
  
*/

function createArray(arr1, arr2) {
  ๐Ÿ’ฌ;
}

const result1 = createArray(["Jett", "Ken"], [30, 40]);
const result2 = createArray(["Math", "Science", "English"], [85, 90, 75]);
const result3 = createArray(["Pizza", "Salad", "Pasta", "Steak"], [3, 4, 2, 1]);

if (
  checkResult(result1, { Jett: 30, Ken: 40 }) &&
  checkResult(result2, { Math: 85, Science: 90, English: 75 }) &&
  checkResult(result3, { Pizza: 3, Salad: 4, Pasta: 2, Steak: 1 }) 
) {
  alert("๐ŸŽ‰");
}

๋ฌธ์ œ ํ’€์ด

function createArray(arr1, arr2) {
  var result = {};
  for (var i = 0; i < arr1.length; i++) {
    result[arr1[i]] = arr2[i];
  }
  return result;
}
  1. result๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด์„œ ๊ฐ์ฒด๋ฅผ ์ดˆ๊ธฐํ™”์‹œํ‚ค๋Š” ์ฝ”๋“œ ์ž‘์„ฑ
  2. for ๊ตฌ๋ฌธ์„ ํ™œ์šฉํ•ด์„œ i๊ฐ€ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘์„ ๋•Œ ๊นŒ์ง€ ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋„๋ก ์ž‘์„ฑ
  3. arr1์˜ ์š”์†Œ๋ฅผ key๋กœ, arr2์˜ ์š”์†Œ๋ฅผ value๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ