아침부터 페어분과 어제부터 만들어놓은 계산기에
한 자리수가 아닌 : 9 + 9 ----> X
---> 여러 자리 수 : 99999 + 99999 ---> O
를 구현해주는 응용문제를 함께 풀게 되었다
아직 풀지 못한 부분은
0 + 0 = NaN 이 나오는 부분인데,
굉장히 간단해보이지만 못 푼 이유는..
[ 함수를 되게 복잡하게 구현해 놓아서 한군데를 고치면
다음 함수가 제대로 작동이 안되어서 ]
디버깅도 개발자가 잘해야되는 부분 이라 하셨고
디버깅 체크하는 (꿀)팁 :
function 함수 초입 부분에 <콘솔로그> 찍어서 실행여부 확인하기
function GoodStudent(name){
console.log('yeong입니다.');
return 'Very good';
}
// 개발자 도구에서 실행 해보게되면,
// 만약 함수가 제대로 작동 할 시에
// ('~') 작은 따옴표 안에 들어가는 내용이 콘솔로그에 찍혀서 출력된다
// 만약 찍히지 않는다면 함수가 작동하지 않은 것 !!
if문도 초입부분에 console.log 를
이용하여 여러개의 if의 경우 어느 if에서 작동하는지 확인 할 수 있다
하고, 오늘은 반복문 코플릿(문제) 풀면서 반복문 복습도 했다
그러던 중 알고리즘에서 약간 헷갈리는 문제가 있었는데,
문제 : 수(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 <= 5 총 6번 실행 +1 출력 = 7번 출력
기본값에서도 이미 한번 더 출력되도록 설정해놓았고
(순서배치도 잘못했고, 변수에 기본값도 잘못할당했다 ㅜㅜ)
() 에 들어가는 조건식도 한번 더 출력되도록 설정해 버린것,,
부등호를 저렇게 쓸거였으면 count 변수에 1로 넣었어야했는데 감안하지않고
썻더니 저렇게 됐다
CSS 박스 구현사이트 :
https://neumorphism.io/#e0e0e0