Algorithm/DailyCoding

[22.09.21] Daily Coding 1, 2

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

 

 

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

 

 

 

 

2.
μ—°μ΄μœ¨μ„ μž…λ ₯λ°›μ•„ μ›κΈˆμ΄ 2λ°° 이상이 될 λ•ŒκΉŒμ§€ κ±Έλ¦¬λŠ” μ‹œκ°„(λ…„)을 리턴해야 ν•©λ‹ˆλ‹€.
function computeWhenDouble(interestRate) {
  // μ›κΈˆμ„ μ„ μ–Έν•˜κ³ , μž„μ˜λ‘œ 1둜 μ§€μ •
  // nλ…„μ˜ 이자 = μ—°μ΄μœ¨ * μ›κΈˆ
  // μ›κΈˆμ΄ 100이고 μ—°μ΄μœ¨μ΄ 5%라면 1λ…„μ˜ μ΄μžλŠ” 100 + 100 * ( 5 / 100 )
  // μ›κΈˆμ΄ 2κ°€ 되기 μ „κΉŒμ§€ λ°˜λ³΅ν•œλ‹€
  // μ›κΈˆμ΄ 2κ°€ λ„˜μœΌλ©΄ κ·Έλ•Œμ˜ λ…„(i) 수λ₯Ό 리턴

  let myMoney = 1;
  let i = 0;
  while ( myMoney < 2 ){
     myMoney = myMoney + myMoney * (interestRate / 100)
     i++
  }return i
}

 

 

 

<레퍼런슀>

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

사싀 λ˜‘κ°™κΈ΄ ν•œλ°, λ³€μˆ˜λͺ…μ΄λ‚˜ 이자λ₯Ό λ”°λ‘œ 섀정해놓은 κ±° 보고 가져와 λ΄€λ‹€