[JS]_daily coding 1, 2

seul·2022년 5월 29일
0

Algorithm

목록 보기
1/31

코플릿 데일리코딩 1번


수도코드

  1. 결과를 담아줄 빈 객체(result) 선언
  2. 입력값이 빈배열인 경우를 조건으로 분기 (빈 객체 리턴)
  3. 빈배열이 아닐 경우에, 새롭게 선언한 빈 객체에 배열의 첫번째 요소를 키로 하고, 배열의 마지막요소를 해당 키의 값으로 할당
  4. result를 return
function transformFirstAndLast(arr) {
  let result = {};
  if(arr.length === 0) {
    return result 
  }
  result[arr[0]] = arr[arr.length -1]
  return result 
}

이게 처음 생각한 코드였고, reference 코드를 보고 난 후
return이 두번 쓰인 것을 한번으로 줄이기 위해서
빈배열이 아닐 경우를 조건으로 바꿔서 그 조건문 안에서 객체에 값을 할당했다

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

코플릿 데일리코딩 2번


수도코드

  1. 이자 => %-> 0.xx ( / 100 )
  2. 원리합계(원금+이자) => 1 + (interestRate / 100)
  3. 원리합계 >= 원금 *2 -> 조건 ~ 까지 => while문!
    3-1. 원금은 입력되지 않음... > 임의로 지정?
    3-2. 반복문을 돌면서 year++
  4. year return
function computeWhenDouble(interestRate) {
  let rate = 1 + interestRate / 100;
  let principle = 1; 
  let year = 0; 
  while (principle < 2) {
    principle *= rate;
    year++;
  }
  return year
}
profile
Connecting dots

0개의 댓글