ν™˜ν…Œν¬ 2023. 1. 13. 10:21
λ°˜μ‘ν˜•

 

 

 

 

 

 

 

 

 

πŸ“λ¬Έμ œ1( transformFirstAndLast )

 

배열을 μž…λ ₯λ°›μ•„ μ°¨λ‘€λŒ€λ‘œ λ°°μ—΄μ˜ 첫 μš”μ†Œμ™€ λ§ˆμ§€λ§‰ μš”μ†Œλ₯Ό 킀와 κ°’μœΌλ‘œ ν•˜λŠ” 객체λ₯Ό 리턴해야 ν•©λ‹ˆλ‹€.

 

 

πŸ“₯μž…λ ₯

 

인자1 : arr

 

string νƒ€μž…μ„ μš”μ†Œλ‘œ κ°–λŠ” λ°°μ—΄

 

πŸ“€ 좜λ ₯

 

객체λ₯Ό 리턴해야 ν•©λ‹ˆλ‹€

 

 

β—οΈμ£Όμ˜μ‚¬ν•­

 

빈 배열을 μž…λ ₯받은 경우, 빈 객체λ₯Ό 리턴해야 ν•©λ‹ˆλ‹€.

μž…λ ₯으둜 λ°›λŠ” 배열을 μˆ˜μ •ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

 

 

 

 

λ‚˜μ˜ 생각

 

1. 객체λ₯Ό 리턴 -> κ²°κ³Όκ°€ {key : value} 둜 λ‚˜μ™€μ•Ό 함

2. 배열을 μ°¨λ‘€λŒ€λ‘œ μž…λ ₯ -> 0μ΄μƒμ˜ λ°°μ—΄μ˜ 길이λ₯Ό μ „λΆ€ 순회

3. λ°°μ—΄μ˜ 첫 μš”μ†Œ -> arr[0] -> ν‚€

4. λ°°μ—΄μ˜ λ§ˆμ§€λ§‰ μš”μ†Œ -> arr[arr.length -1]  -> κ°’

5. λ°°μ—΄μ˜ μ²«μš”μ†Œμ™€ λ§ˆμ§€λ§‰ μš”μ†Œκ°€ 킀와 κ°’ -> μ²«μš”μ†Œ =  λ§ˆμ§€λ§‰ μš”μ†Œ

 

 

 

래퍼런슀(= λ‚˜μ˜μ½”λ“œ)

 

 

function transformFirstAndLast(arr) {
  let result = {};
  if (arr.length > 0) {
    result[arr[0]] = arr[arr.length - 1];
  }
  return result;
}

 

 

 

 

 

 

 

πŸ“λ¬Έμ œ2( computeWhenDouble )

 

μ—°μ΄μœ¨μ„ μž…λ ₯λ°›μ•„ μ›κΈˆμ΄ 2λ°° 이상이 될 λ•ŒκΉŒμ§€ κ±Έλ¦¬λŠ” μ‹œκ°„(λ…„)을 리턴해야 ν•©λ‹ˆλ‹€.

 

 

πŸ“₯μž…λ ₯

 

인자1 : interestRate

 

number νƒ€μž…μ˜ μ—°μ΄μœ¨ (%)

 

πŸ“€ 좜λ ₯

 

  • number νƒ€μž…μ„ 리턴해야 ν•©λ‹ˆλ‹€.

 

 

λ‚˜μ˜ 생각

 

1.년을 리턴 -> year = 0

2.μ—°μ΄μœ¨ μž…λ ₯ -> interestRate

3. μ›κΈˆμ΄ 2λ°° 이상이 됌 -> μ›κΈˆ * μ—°μ΄μœ¨ = nλ…„μ˜ μ›κΈˆ

μ›κΈˆ -> myMoney μ—°μ΄μœ¨ -> interestRate nλ…„ -> year

4. μ›κΈˆ 2λ°°λ©΄ -> λ…„ 수 리턴 2λ°° μ•ˆλ˜λ©΄ -> 계속 반볡

 

 

λ‚˜μ˜μ½”λ“œ

 

// 잘λͺ»λœ μ½”λ“œμž…λ‹ˆλ‹€

function computeWhenDouble(interestRate) {
  let year = 0;

  for(let m=1;m<2;m++){
      m = m + (m * interestRate/100);
  }

  return year;
}

 

 

래퍼런슀

 

 

function computeWhenDouble(interestRate) {
  let rate = 1 + interestRate / 100;
  let principal = 1;
  let year = 0;
  while (principal < 2) {
    principal = principal * rate;
    year++;
  }
  return year;
}

 

 

잘λͺ»λœ λΆ€λΆ„

 

μ›κΈˆμ„ λ³€μˆ˜λ‘œ 잘λͺ»λœ λ°˜λ³΅λ¬Έμ„ 돌림

 

// λ‚΄κ°€ μž¬μž‘μ„±ν•œ μ½”λ“œ

function computeWhenDouble(interestRate) {
  let year = 0;
  let myMoney = 1;

  while(myMoney < 2) {
    myMoney = myMoney + (myMoney * interestRate/100);
    year++
  }

  return year;
}
λ°˜μ‘ν˜•