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

09. 369게임 (번외)

by woody-j 2022. 11. 5.

※문제설명

3의 배수에서 박수를 치는게 아니라 끝자리가 3,6,9로 끝나는 숫자라면 '박수'를 출력되게 하는겁니다. 

 

My Solution

   function testLast(num) {
        let last = String(num);
        let lastNum = last.charAt(last.length - 1);
        if (lastNum == "3" || lastNum == "6" || lastNum == "9") {
          console.log("박수");
        } else {
          console.log("pass");
        }
      }
      testLast(14);
      testLast(19);
더보기
charAt가 문자열 메소드라 num을 문자열을 바꿔주고 사용

1. toString()으로 숫자를 문자열로 변환

toString() 메소드를 사용하여 숫자를 문자열로 변환할 수 있습니다.

 

2. String.prototype.charAt() - 문자열 메소드

charAt() 함수는 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환합니다.

 

 

부족한 점 Uncaught TypeError: last.charAt is not a function

처음에 num을 문자열로 바꿔주지않고 사용하여 이런 오류가 발생했다.
~ IS NOT A FUNCTION 에러가 발생했을때는 대부분 타입 에러라는 것을 알게 되었다.


개선 방안 오류의 원인이 어떤 것인지 파악을 하지못해 문제를 어떻게 고쳐야하는지도  알 수 없었다.
오류에 대한 문제가 무엇인지부터 파악하는 힘을 기른다면,
조금 더 빨리 문제에 대한 해결 방안을 찾을 수 있을 것 같다.

 

※문제설명

합격판독기에 0에서 100사이 숫자가 아닌걸 입력하면 장난치지 말라고 alert를 띄우려면 어떻게 코드짜야할까요? 

 

My Solution

function testAlert(num) {
        if (0 < num && num < 100) {
          alert("잘했어");
        } else if (num >= 100) {
          alert("장난치지마");
        }
      }
더보기
&& 연산자를 사용

 

부족한 점 처음에 0<num<100이라고 작성했다. 컴퓨터는 이것을 이해하지 못한다.
컴퓨터가 이해하는 언어를 사용할 필요가 있다.

개선 방안 무엇보다도 계속해서 코드를 작성해보고 안되는 코드에 대한 파악이 필요하다.

 

느낀 점 계속 느끼는 거지만.. 하나하나 찾아가며 풀어가는 코딩이 너무나 새롭고 재밌다.

 

 

 

참고 블로그 :