[210622] 계산기_응용문제 & 가르침 받은 디버깅꿀(..)팁

해달·2021년 6월 22일
0

TIL

목록 보기
3/80
post-thumbnail

6월 22일 하루

아침부터 페어분과 어제부터 만들어놓은 계산기에

  • 한 자리수가 아닌 : 9 + 9 ----> X
    ---> 여러 자리 수 : 99999 + 99999 ---> O

    를 구현해주는 응용문제를 함께 풀게 되었다



아직 풀지 못한 부분은
0 + 0 = NaN 이 나오는 부분인데,
굉장히 간단해보이지만 못 푼 이유는..

[ 함수를 되게 복잡하게 구현해 놓아서 한군데를 고치면
다음 함수가 제대로 작동이 안되어서 ]

  • 0 + 0 -> 0 ----> 초기화 후
  • 9 + 9 -> 9 ----> 첫번째 숫자 값 === 0 으로 고정

디버깅도 개발자가 잘해야되는 부분 이라 하셨고
디버깅 체크하는 (꿀)팁 :
function 함수 초입 부분에 <콘솔로그> 찍어서 실행여부 확인하기

function GoodStudent(name){
console.log('yeong입니다.');
return 'Very good';
}
// 개발자 도구에서 실행 해보게되면,
// 만약 함수가 제대로 작동 할 시에
// ('~') 작은 따옴표 안에 들어가는 내용이 콘솔로그에 찍혀서 출력된다
// 만약 찍히지 않는다면 함수가 작동하지 않은 것  !!

if문도 초입부분에 console.log 를
이용하여 여러개의 if의 경우 어느 if에서 작동하는지 확인 할 수 있다
  • if 와 else if 같이 써도 상관 없다, else만 아니라면

하고, 오늘은 반복문 코플릿(문제) 풀면서 반복문 복습도 했다
그러던 중 알고리즘에서 약간 헷갈리는 문제가 있었는데,

문제 : (num)를 입력받아 1을 포함하여 num개의 홀수로 구성된 문자열을 리턴해야 합니다.

// 내 풀이 : 
function makeOddDigits(num) {
  // TODO: 여기에 코드를 작성합니다.

let i = 1;
let count = 0;
let result = 1;

while(count <= num){  
    i = i + 2;
  count = count + 1;
    result = String(result) + String(i);
}
  return String(result);
}
// 1. 1부터 시작하는 변수 i를 선언해줍니다. (2씩 더해서 홀수 출력 변수)
// 2. 0부터 시작하는 할당 받은 count 함수를 선언해 줍니다 (출력 될 때마다 1씩 증가)
// 3. 결과를 담을 변수 result를 선언해 줍니다.
// 4. 출력 될 때 마다 증가되는 변수 count 와 출력되야하는 수 num을 비교해 줍니다. (count가 num보다 작거나 같아질때까지)= true 
// 5. 조건에 만족할 때 count 1씩 증가 

이렇게 작성하면 총 7번 실행 된다.. 총체적 난국
-> result 에서 이미 기본값을 1로 주었고
-> 바로 i에서 더해서 +1 출력
-> (<=) 부등호를 사용해서 num에 5 할당 시 
      
 - (1) 0 <= 5          이미 기본값 +1 상태
 - (2) 1 <= 5
 - (3) 2 <= 5
 - (4) 3 <= 5
 - (5) 4 <= 5
 - (6) 5 <= 56번 실행 +1 출력  = 7번 출력
 
기본값에서도 이미 한번 더 출력되도록 설정해놓았고
(순서배치도 잘못했고, 변수에 기본값도 잘못할당했다 ㅜㅜ)
() 에 들어가는 조건식도 한번 더 출력되도록 설정해 버린것,,
부등호를 저렇게 쓸거였으면 count 변수에 1로 넣었어야했는데 감안하지않고
썻더니 저렇게 됐다

CSS 박스 구현사이트 :
https://neumorphism.io/#e0e0e0

0개의 댓글