본문 바로가기

verdantjuly/Today I Learned

TIL 20230505

728x90

오늘 한 것

- 웹개발 종합반 3-2까지 복습

- 프로그래머스 n문제 (카운트 하는 걸 잊음)

 

1.  javascript : 본질을 알자 (최소공배수)

문제

프로그래머스 코딩테스트 입문  :  공배수 (바로가기)

같으면 끝나는 문제인 줄 알았는데,

본질은 최소공배수로 나눈 나머지는 0이라는 데 있다. 

시도

function solution(number, n, m) {
    if(number%n === number%m){
        return 1
	}else {
    return 0
    }
}

해결

if ~ 0과 같으면~ 으로 변경

function solution(number, n, m) {
    if(number%n ===0 && number%m===0){
        return 1
	}else {
    return 0
    }
}

알게 된 점

시간이 걸리더라도 문제를 잘 읽고 본질에 접근하자. 

실행 버튼을 눌렀을 때 잘 되어도 실제 제출 후에 많은 케이스를 돌다 안 될 수 있다.

 

2.  javascript : String

알게 된 점

String(바꾸고 싶은 것)

문자열로 바꿔준다.

 

3. javascript : forEach 

알게 된 점

array.forEach((a) => {

        })

 

4.  javascript : JQuery 링크 항상 확인하기

알게 된 점

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

 

5.  javascript : fetch

알게 된 점

fetch 는 url에서 데이터를 받아오는 친구다!

fetch 기본 골격

fetch("여기에 URL을 입력").then(res => res.json()).then(data => {
		console.log(data)
})

 

6.  javascript : _  자리 식별자, 언더바 변수

알게 된 점

const solution=(_,__)=>_+__
function solution(num1, num2) {
    return num1 + num2;
}

위 와 아래의 코드는 같은 결과를 낸다.

 

_는 자리 표시자이자 언더바 변수라고 한다.

주로 함수의 매개변수를 선언할 때 사용 (매개변수가 중요하지 않을 때)

변수의 선언을 두 번 할 수 없듯 _와 __로 구분하였다.

참고자료 : https://developer-talk.tistory.com/360

 

 

7. javascript : Math.max.apply(Math, 배열)

 

문제

프로그래머스 코딩테스트 입문 :  삼각형의 완성조건(1) (바로가기)

Math.max(array) 로 값이 나오지 않음

시도

구글링을 통해 Math.max 함수의 성질에 대해 알게 됨.

 

해결

function solution(sides) {
    let long = Math.max.apply(Math, sides)
    let sum = 0
    for(i=0;i<3;i++){
        sum += sides[i] 
    }
    if (long<sum-long){
        return 1
    } else{
        return 2
    }   
}

 

알게 된 것

 

배열 요소의 합 구하는 법

Math.max.apply(Math, array)

 

Math.min 또는 Math.max 함수는 소괄호 안의 것을

배열이 아니라 고유한 변수를 기대한다.

따라서 Math.max(배열) 의 값은 NaN이 나온다. 

 

이를 위해 ES6/ES2015 적용 방법을 사용해야 한다.

참고자료 : https://jjeongil.tistory.com/949

 

 

8. javascript : console.log 실행 안 됨

문제

오늘부터 console.log()가 출력되지 않는다.

 

시도

간단한 테스트 파일을 만들어 console.log('테스트') 를 출력해 봤다. 정상 작동!

''

문제 상황이 일어난 html에 뭔가 문제가 있는 것 같다. 

html을 갈아엎었으나 해결되지 않았다.

몇 시간 고민해 본 끝에 사람이 문제라는 걸 알게 되었다.

Human Error.... 심각한 거다. 

 

업데이트라는 버튼을 누른 뒤에 console.log()가 작동하게 되어 있는데

버튼을 안 누르고 콘솔을 킨 것이다. 

 

브레이크 포인트를 하나씩 짚어서 디버깅을 해 보라는 동생의 조언이 엄청난 도움이었는데

전혀 눈치채지 못했다. 하하....

 

해결

 

알게된 것

뭔가 내 생각대로 되지 않을 때 > 디버깅

크롬으로 브레이크 포인트 잡아서 디버깅 하기

참고자료: https://ko.javascript.info/debugging-chrome

 

 


 

정리

시간이 걸리더라도 문제를 잘 읽고 본질에 접근하자.

실행 버튼을 눌렀을 때 잘 되어도 실제 제출 후에 많은 케이스를 돌다 안 될 수 있다.

최소공배수로 나눈 나머지는 0

 

String(바꾸고 싶은 것)

문자열로 바꿔준다.

 

forEach

array.forEach((a) => {

})

 

JQuery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

 

fetch 는 url에서 데이터를 받아오는 친구다!

fetch 기본 골격

fetch("여기에 URL을 입력").then(res => res.json()).then(data => {
		console.log(data)
})

_  자리 식별자, 언더바 변수

 

뭔가 내 생각대로 되지 않을 때 > 디버깅

크롬으로 브레이크 포인트 잡아서 디버깅 하기

참고자료: https://ko.javascript.info/debugging-chrome

 

소감

내일배움캠프 node.js 트랙 질문방을 처음 이용해 봤다. 휴일 아침임에도 너무 친절하게 다 알려 주시고 응원도 해 주셔서  더 열심히 공부할 수 있는 지식과 힘이 생겼다. 그리고 동생이 큰 가르침을 주고 있다는 걸 알았다. 알아서 하라고 방치하는 건 진짜 알아서 해야 하기 때문에 도와 주지 않는 것이었다. 한 마디씩 던지는 게 사실 정답이라는 것을 깨닫았다. 

'verdantjuly > Today I Learned' 카테고리의 다른 글

TIL 20230510  (1) 2023.05.10
TIL 20230509  (1) 2023.05.09
TIL 20230508  (3) 2023.05.08
TIL 20230506  (1) 2023.05.06
TIL 20230504  (1) 2023.05.04