본문 바로가기
프론트엔드로 가는 길/프로그래머스

10. 변수, 사칙연산 실력향상 과제 (번외)

by woody-j 2022. 11. 6.

※문제설명

철수는 은행에 예금을 하러 갔는데 예금 금액에 따라 이율이 달라지는 것을 보고 크게 당황했습니다.
첫 예금액이 5만원 미만이면 이율이 연 15퍼센트,
첫 예금액이 5만원 이상이면 이율이 연 20퍼센트라고 합니다.
그래서 민준이는
(1) 변수에 예금액을 넣으면
(2) 2년 후의 총 예금액을 자동으로 콘솔창에 출력해주는 기능을 자바스크립트로 만들려고하는데
어떻게 코드를 짜면 될까요? .

 

My Solution

 function money(num) {
        let yearUp = 1.2;
        let yearDown = 1.15;
        if (num < 50000) {
          console.log(num * (yearDown **= 2));
        } else {
          console.log(num * 1.2 * 1.2);
          console.log(num * (yearUp **= 2));
          console.log(num * Math.pow(1.2, 2));
        }
      }
      money(60000);
      money(10000);

* 연 이자가 15% 붙으면 1년 후 총 금액 계산 할 때는 원금 x 1.15, 20%는 원금 x 1.20

더보기
 2년 후에는 총 이자가 20%가 2번 붙기때문에 **연산자를 사용
Math.pow(base, exponent)
Math.pow (x,y)=x^y
부족한 점 나는 처음엔 num *1.2*1.2 라고 작성했다. 거듭제곱(**)과 Math.pow를 찾고는 더 쉬운 코드를 작성할 수 있었다.

개선 방안 지금 현재는 있는 그대로 길게 코드 작성하는 것을 짧게 쓰도록 노력해야겠다.
길게도 써보고! 짧게 쓰는 방법도 찾아보고!

주의할점

**연산자의 경우 : 변수에 숫자를 저장해서 사용가능하다.

Math.pow는 무조건 숫자로만 사용해야한다.

 

 


※문제설명

방금 마신 커피의 3분의 2만큼 총 2번 리필해주는 카페가 있습니다.
커피리필을 무한으로 해준다면 처음 담아주는 커피가 360ml일 때 총 몇 ml의 커피를 마실 수 있을까요?

 

My Solution

  function coffee02(num) {
        let refeel = 2 / 3;
        console.log(360 / (1 - 2 / 3));
      }
      coffee02(360);

* 무한등비수열 공식 : a/(1-r)

더보기
무한등비수열 공식에 대입하여 값 출력

 

 


※문제설명

유저가 <input>에 답을 적고 제출버튼을 누를 수 있는 퀴즈 UI 입니다.
1. 유저가 답을 맞추면 alert('성공');
2. 유저가 답을 3번 찍어서 못맞추면 alert('멍청아') 를 띄워봅시다.
(위 문제의 답은 1335입니다)


 

My Solution

<p>태조 이성계가 태어난 년도는?</p>
<input type="text" id="answer">
<button id="send-answer">제출</button>

 

 

 let count = 0;
      document
        .getElementById("send-answer")
        .addEventListener("click", function () {
          count++;
          let text = document.getElementById("answer").value;
          if (text == "1335") {
            alert("성공");
          } else if (count >= 3 && text != "1335") {
            alert("멍청아");
          }
        });

 

더보기
 버튼을 클릭하는 수를 변수에 저장하여 if문을 사용

 

 

느낀 점 비교적 생각하면 쉽게 풀 수 있는 문제들이었다. 하지만 쉽게 풀되 조금 더 효율적인 코드를 작성하는 데에는 부족함이 있었던 것 같다. 이처럼 계속해서 다양하고 응용된 문제들을 풀어가면서 익혀가다보면 더 간단한 코드가 나올 것 같다.

 

 

 

참고 블로그 : 

'프론트엔드로 가는 길 > 프로그래머스' 카테고리의 다른 글

12. 분수의 덧셈(while문)  (1) 2022.11.21
11. 머쓱이보다 키 큰 사람  (0) 2022.11.08
09. 369게임 (번외)  (0) 2022.11.05
08.두 수의 나눗셈 & 양꼬치  (0) 2022.11.04
07. 배열의 평균값  (0) 2022.11.03