상세 컨텐츠

본문 제목

computeWhenDouble 알고리즘 문제 풀이

Programming Language/JavaScript

by Yongari 2022. 12. 16. 21:19

본문

 

이번 문제는 상식의 문제였다. 그러나 상식이 부족한 나한테는 조금 당황스러웠으나 결국 풀긴 풀었다..

문제는 다음과 같다.

 

문제 :

연이율을 입력 받고 원금이 2배 이상이 될 때까지 걸리는 시간을 리턴해야한다. 

 

입력

인자 1 : interest Rate (number 타입의 연이율 (%))

 

출력

number 타입을 리턴해야함

 

 

 

입출력 예시

let output = computeWhenDouble(7);
console.log(output); // --> 11

output = computeWhenDouble(10);
console.log(output); // --> 8

 

풀이 코드 설명

function computeWhenDouble(interestRate) {
  //초기 원금
  init = 1;
  //원금의 2배
  last = init * 2;
  //연 이자율 계산
  interest = 1 + interestRate / 100;
  //year 선언
  year = 0;
  //원금이 2배 이하일 때 무한 루프
  while (init < last) {
    init = init * interest;
    year++;
  }
  //정답 year 리턴
  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;
}

 

 

관련글 더보기