오늘 한 것
- 웹개발 종합반 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 |