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

TIL ~ WIL

TIL 2024-05-02 / ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋“œ์นดํƒ€ ๋ฌธ์ œํ’€์ด

 

๐Ÿ“Œ Today’s completed goals (์˜ค๋Š˜ํ•œ์ผ)

โœ”๏ธ ํŒ€ ํ”„๋กœ์ ํŠธ TMDB ์—์„œ API๋ฅผ ํ†ตํ•ด BackDropImage ๋”ฐ์™€์„œ ๋งŒ๋“œ๋Š” ๊ฒƒ

โœ”๏ธ

โœ”๏ธ ์ผ์ผ TIL ์ž‘์„ฑ ๋ฐ ์ œ์ถœ

โœ”๏ธ ์ผ์ผ ์ฝ”๋“œ์นดํƒ€ ๋ฌธ์ œ ํ’€์ด

๐Ÿ“Œ Weekely goal in progress (์ฃผ๊ฐ„๋ชฉํ‘œ)

โœ๏ธ ํŒ€ ํ”„๋กœ์ ํŠธ ์™„์„ฑ

โš ๏ธ Today's Problem & Resolv (์˜ค๋Š˜ ๋ฌธ์ œ & ํ•ด๊ฒฐ)

๐Ÿ‘Š GitHub ํ˜‘์—… & Git Clone & Git pull origin dev

๐Ÿ‘Š TMDB ์—์„œ BackDropImage ๋”ฐ์˜ค๊ธฐ

๐Ÿค” Look back on today (์˜ค๋Š˜์˜ ํšŒ๊ณ )

๐Ÿคฏ ์ค ๋ผ ์ค ๋ผ ์ค ๋ผ ์–ด๋ ต๋”ฐ -_ --;;; Git ์ง„์งœ ๊ฐœ ์ข‹์€ ๊ธฐ๋Šฅ์ธ๊ฑฐ ๊ฐ™์€๋ฐ ์™ค์บ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค์–ด๋†จ๋ƒ!!??!! ์—ด์‹ฌํžˆ ๋ณต์Šตํ•˜๊ณ  ํ™œ์šฉํ•ด์„œ ์ž˜ ์“ฐ๊ฒŒ ๋˜์ž!!

๐Ÿคฏ ์ฒ˜์Œ์— ์ง„์งœ ๊ฐœ ๋ชปํ•˜๊ณ , ์•”๊ฒƒ๋„ ํ•  ์ค„ ๋ชฐ๋ผ์„œ ํŒ€์›ํ•œํ…Œ ์ค ๋ผ ๋ฏผํ ๋ผ์น˜๊ณ  0.0001์ธ๋ถ„๋„ ๋ชปํ•˜๊ณ , ํŒ€์žฅ๋‹˜ ๋ฒ„์Šค์— ํƒ‘์Šนํ•˜๋Š”๊ฑฐ ๊ฐ™์•„์„œ ์ค ๋ผ ๋ฏธ์•ˆํ•˜๊ณ  ๋ฏธ์•ˆํ•ด์„œ ์•„๋ฌด๋ง๋„ ๋ชปํ–ˆ๋Š”๋ฐ ๊ทธ๋ƒฅ ๋ง‰ ์งˆ๋Ÿฌ๋ฒ„๋ ธ๋‹ค. ๋‚˜ ์†”์งํžˆ ๊ฐœ๋ชปํ•จ... ์–ด์ผ€ ํ•ด์•ผ๋จ... ํ•˜๊ณ  ๋ฌผ์–ด๋ณด๋‹ˆ ๋‹นํ™ฉ์Šค๋Ÿฝ๊ฒŒ๋„ ์นœ์ ˆํ•˜๊ฒŒ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ถ€ํ„ฐ ์ฃผ๋ง์—๋„ ๊ฐ™์ด ๋ด์ฃผ๊ฒ ๋‹ค๋Š” ํŒ€์›๋“ค ใ„ทใ„ทใ„ทใ„ทใ„ท ํ‰์†Œ์—๋„ ํŠธ๋ผ์šฐ๋งˆ ์žˆ์–ด์„œ ๋ง ์กฐ์‹ฌํžˆ ํ–ˆ๋Š”๋ฐ ๊ทธ๋ƒฅ ์งˆ๋ฅด๋Š”๊ฒƒ๋„ ๋‹ต์ด๋˜์—ˆ๋‹ค.

 

 

[ ๐Ÿ“œ Problem โ˜ข๏ธ ๐Ÿ‘Š Resolv ]

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  sayHello() {
    console.log("hello");
  }
}


const person1 = new Person("John", "25");
person1.sayHello();
 

[ ๐Ÿ“œ Problem ] ์ด์ƒํ•˜๋‹ค, ๊ฐ•์‚ฌ๋‹˜์ด๋ž‘ ๋˜‘๊ฐ™์ด ์ฝ”๋“œ ์ณค๋Š”๋ฐ ๋ชจ๋“ˆ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

[ ๐Ÿ‘Š Resolv ] ํŠœํ„ฐ๋‹˜๊ป˜ ์งˆ๋ฌธํ•ด๋ณด๋‹ˆ... ๋ถ€๋„๋Ÿฝ๊ฒŒ๋„;;; ํŒŒ์ผ์ด๋ฆ„์„ tset์œผ๋กœ ํ•ด๋†“๊ณ , ์‹คํ–‰์€ test๋กœ ํ•œ๊ฒƒ์ด๋‹ค.

์ƒˆ๋ฒฝ 2์‹œ๊นŒ์ง€ ํ•™์Šต ํ•˜๋‹ค๋ณด๋‹ˆ ์ •์‹ ์ค„์„ ๋†”๋ฒ„๋ฆฐ๋“ฏ ใ…‹ใ…Žใ…‹

ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰์€ tabnine ai๋„ ๋„์™€์ฃผ์ง€ ๋ชปํ•˜๋‚˜๋ณด๋‹น ใ… ใ… 

 

[๋ฌธ์ œ ์„ค๋ช…]
์ •์ˆ˜๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด arr์˜ ํ‰๊ท ๊ฐ’์„ returnํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

[์ œํ•œ์‚ฌํ•ญ]
arr์€ ๊ธธ์ด 1 ์ด์ƒ, 100 ์ดํ•˜์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.
arr์˜ ์›์†Œ๋Š” -10,000 ์ด์ƒ 10,000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.

[์ž…์ถœ๋ ฅ ์˜ˆ]
arr	return
[1,2,3,4]	2.5
[5,5]	5
 

[ ๐Ÿ“œ Problem ] ํ‰๊ท  ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ

 

function solution(arr) {
  console.log(arr.length); // ์ผ๋‹จ ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ์–ผ๋งˆ์ธ์ง€ ํ™•์ธํ•œ๋‹ค
  var answer = 0;
  // ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ์ถœ๋ ฅ๋˜์—ˆ์œผ๋‹ˆ, ๋ฐฐ์—ด์˜ ์›์†Œ์˜ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค.
  for (var i = 0; i < arr.length; i++) {
    answer = answer + arr[i];
  }

  // for๋ฌธ ๋ฐ–์—์„œ answer ๋ฅผ arr์˜ ๊ธธ์ด๋กœ ๋‚˜๋ˆ ์ค€๋‹ค.
  answer = answer / arr.length;
  return answer;
}

console.log(solution([1, 2, 3, 4]));
 

[ ๐Ÿ‘Š Resolv ] arr ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•จ, ์†”๋ฃจ์…˜ ๋‚ด๋ถ€์—์„œ for์„ ๋Œ๋ ค arr์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณต ํ•˜๋ฉด์„œ ๋ฐ˜๋ณต๋ ๋•Œ๋งˆ๋‹ค arr์˜ ์›์†Œ๋ฅผ answer์— ๋”ํ•ด์„œ ๋ฆฌํ„ดํ•˜์—ฌ ์ „์ฒดํ•ฉ์ด ์ž˜ ๋˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ , for๋ฌธ ๋ฐ–์—์„œ answer๋ฅผ arr์˜ ๊ธธ์ด๋กœ ๋‚˜๋ˆ ์ฃผ๋ฉด ํ‰๊ท ๊ฐ’ ์™„์„ฑ!

 

 

[๋ฌธ์ œ ์„ค๋ช…]
์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง€๋ฉด, N์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•ด์„œ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์„ธ์š”.
์˜ˆ๋ฅผ๋“ค์–ด N = 123์ด๋ฉด 1 + 2 + 3 = 6์„ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

[์ œํ•œ์‚ฌํ•ญ]
N์˜ ๋ฒ”์œ„ : 100,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
์ž…์ถœ๋ ฅ ์˜ˆ
N	answer
123	6
987	24

[์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…]
์ž…์ถœ๋ ฅ ์˜ˆ #1
๋ฌธ์ œ์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2
9 + 8 + 7 = 24์ด๋ฏ€๋กœ 24๋ฅผ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
 

[ ๐Ÿ“œ Problem ] ์ž๋ฆฟ์ˆ˜ ๊ตฌํ•˜๊ธฐ

์ผ๋‹จ ๋ฌธ์ œ๋ถ€ํ„ฐ... ๋Œ€๊ตด๋นก์ด ์•ˆ๋Œ์•„๊ฐ„๋‹ค ใ…œใ…œ ๋จธ๋ผ ๋Š”๊ฑฐ๋‹ˆ...

 

function solution(n) {
  // answer ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •
  var answer = 0;
  // function ์œผ๋กœ ๋ฐ›์€ n์„ ๋…ธ๋‚˜์„œ ๋ฐฐ์—ด๋กœ ์ €์žฅ
  let result = String(n).split("");
  // ๋ฐฐ์—ด์ด ์ž˜ ๋œฏ์–ด์กŒ๋Š”์ง€ ํ™•์ธ
  console.log(result);
  // ์ž˜ ๋œฏ์–ด์กŒ๋‹ค๋ฉด for๋ฌธ์„ ๋Œ๋ ค์„œ answer์— ๋”ํ•ด์คŒ
  for (let i = 0; i < result.length; i++) {
    answer = answer + Number(result[i]);
  }

  return answer;
}

console.log(solution(123));
 

[ ๐Ÿ‘Š Resolv ] ์–ด, ๋ญ”๊ฐ€ ์žˆ์—ˆ๋˜๊ฑฐ ๊ฐ™๋‹ค. ์ž…๋ ฅ๋ฐ›์€ ๋ณ€์ˆ˜๋ฅผ ๋‚˜๋ˆ ์ฃผ๋Š” ๊ทธ๋Ÿฐ๊ฒŒ ์žˆ์—ˆ๋‹ค. ๋ชจ๋ฅด๊ฒ ๋‹ค. ๊ธฐ์–ต์•ˆ๋‚œ๋‹ค. ๊ฒ€์ƒ‰ ใ„ฑ-ใ„ฑ

๊ทธ๋Ÿฌ์น˜ String ์ด๋ผ๋Š” ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์—ˆ๋‹ค( ๊ธฐ์–ต์•ˆ๋‚จ ใ…‹ )

์šฐ์„  solution(123)์„ ํ†ตํ•ด ๋ฐ›์€ n์˜ ๊ฐ’ 123์„ ์ชผ๊ฐœ์„œ result ์— ๋ฐฐ์—ด๋กœ ๋‹ด์•„์ค€๋‹ค.

์ชผ๊ฐœ์ง„ ๋ฐฐ์—ด result๋ฅผ for๋ฌธ์„ ๋Œ๋ ค์„œ result์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณตํ•˜๊ณ , ๋ฐ˜๋ณต๋ ๋•Œ๋งˆ๋‹ค result[i]๋ฅผ ํ•ด์ฃผ๋ฉด for์ด ๋Œ์•„๊ฐ€๋ฉด์„œ ๋ชจ๋‘ ๋”ํ•ด์ง„๋‹ค. ์™„์„ฑ

 

 

[๋ฌธ์ œ ์„ค๋ช…]
์ •์ˆ˜ n์„ ์ž…๋ ฅ๋ฐ›์•„ n์˜ ์•ฝ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

[์ œํ•œ ์‚ฌํ•ญ]
n์€ 0 ์ด์ƒ 3000์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.

[์ž…์ถœ๋ ฅ ์˜ˆ]
n	return
12	28
5	6

[์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…]
์ž…์ถœ๋ ฅ ์˜ˆ #1
12์˜ ์•ฝ์ˆ˜๋Š” 1, 2, 3, 4, 6, 12์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ชจ๋‘ ๋”ํ•˜๋ฉด 28์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2
5์˜ ์•ฝ์ˆ˜๋Š” 1, 5์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ชจ๋‘ ๋”ํ•˜๋ฉด 6์ž…๋‹ˆ๋‹ค.
 

[ ๐Ÿ“œ Problem ]์•ฝ์ˆ˜์˜ ํ•ฉ ์ด๋ผ๋Š” ๋ฌธ์ œ๋‹ค. ์•ฝ์ˆ˜๊ฐ€ ๋ญ๋ƒ..? ์กธ์—…ํ•œ์ง€ 10๋…„ ๋„˜์–ด์„œ ๋ญ”์ง€ 1๋„ ๊ธฐ์–ต์•ˆ๋‚œ๋‹ค ํํจใ…‹ใ…‹ํ

 

function solution(n) {
  var answer = 0;

  // ์šฐ์„  ๋น„์–ด์žˆ๋Š” ๋ฐฐ์—ด arr์„ ๋งŒ๋“ ๋‹ค.
  const arr = [];

  // ์ž…๋ ฅ๋ฐ›์€ ์ˆ˜ n์„ 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณต๋ฌธ ๋Œ๋ฆฐ๋‹ค.
  for (let i = 0; i <= n; i++) {
    // ์ด๋•Œ, n์„ i๋กœ ๋‚˜๋ˆด์„๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด
    if (n % i === 0) {
      // arr์— i๋ฅผ push(๋„ฃ์–ด)์ค€๋‹ค.
      arr.push(i);
      // push๊ฐ€ ์ž˜ ๋˜์—ˆ๋Š”์ง€ log๋ฅผ ๋ฝ‘์œผ๋ฉด์„œ ํ™•์ธํ•œ๋‹ค.
      console.log(arr);
    }
    // arr์— ์•ฝ์ˆ˜๊ฐ€ ๋ฐฐ์—ด๋กœ ์ž˜ ์ €์žฅ๋˜์—ˆ๋‹ค.
  }
  // ์ด์ œ ๋”ํ•ด์ค€๋‹ค
  for (let j = 0; j < arr.length; j++) {
    answer = answer + arr[j];
  }
  return answer;
}

console.log(solution(10));
 

[ ๐Ÿ‘Š Resolv ]์™€ ์กธ๋ผ ์–ด๋ ต๋‹ค.

์•ฝ์ˆ˜ ๋‚˜์™€๋ผ ๋š๋”ฑ! ํ•˜๋Š” ํ•จ์ˆ˜๋Š” ์—†๋‹ค, ๋น„์Šทํ•œ๊ฒŒ ์žˆ๊ธด ํ•œ๋ฐ ๋ญ ์ค‘๋ณต๊ฐ’ ์ง€์šฐ๊ณ  setํ•ด์ฃผ๊ณ  ์•”ํŠผ ์ค ๋ผ ๋ณต์žกํ•˜๋‹ค.

์—ญ์‹œ ๋ชจ๋ฅผ๋•Œ๋Š” ๋…ธ๊ฐ€๋‹ค๊ฐ€ ์ตœ๊ณ ๋‹ค.

 

soultion ์œผ๋กœ ์ž„์˜์˜ ์ˆ˜ 10์„ ๋„ฃ์–ด์ค€๋‹ค. 10์˜ ์•ฝ์ˆ˜๋Š” 1, 2, 5, 10 ์ด๋‹ค.

๋น„์–ด์žˆ๋Š” ๋ฐฐ์—ด arr์„ ๋งŒ๋“  ํ›„, ์ž…๋ ฅ๋ฐ›์€ ์ˆ˜ n์„ 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณต์„ ๋Œ๋ ค์ฃผ๊ณ , ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—์„œ๋Š” n์„(ํ˜„์žฌ ์ž…๋ ฅ๊ฐ’ 10) i๋กœ ๋‚˜๋ˆ ์ฃผ์–ด ๋‚˜๋จธ์ง€๊ฐ€ 0 ์ผ๊ฒฝ์šฐ arr์— ๋„ฃ์–ด(push)ํ•ด์ค€๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋ณต๋ฌธ ๋ฐ–์œผ๋กœ ๋‚˜์™€์„œ, ๋ฐฐ์—ด์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๋กœ์ง์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋

 

 

[ ๐Ÿ“œ Problem ] Git ๋„˜ ์–ด๋ ต๋‹ค, ๊ฐœ ์–ด๋ ต๋‹ค, ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค, ์•„์ง ๋ชจ๋ฅด๊ฒ ๋‹ค, ์ข€๋” ํ•ด๋ด์•ผ ๊ฒ ๋‹ค, ์ผ๋‹จ ํ•ด๋ดค๋‹ค

 

 

[ ๐Ÿ‘Š Resolv ] ํŒ€์žฅ๋‹˜์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋งŒ๋“ฌ, ๊ฑฐ๊ธฐ์„œ ์ฝ”๋“œ๋ฅผ ๊ฐ์ž ํด๋ก ํ•จ, ๊ฐ์ž ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•จ, ์˜คํ›„ 8์‹œ์— ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ merge ํƒ€์ž„์„ ๊ฐ€์ง

 

์ˆœ์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ฝ”๋“œ๋ฅผ ์ˆ˜์ • ์™„๋ฃŒ ํ–ˆ์œผ๋ฉด

git add .

git commit -m "my upload 240502"

 

์•„... ๋˜ ๊นŒ๋จน์—ˆ๋‹ค ;;; ๋‚ผ ๋˜ ํŒ€ํ•œํ…Œ ๋ฌผ์–ด๋ด์•ผ์ง€ ใ… ใ