8일차. 코플릿 조건문 반복문
오늘은 어제까지 배운 개념을 기반으로 조건문과 반복문 문제를 20문제쯤 풀었다. 같이 푼 페어분이 잘해주셔서 도움이 정말 많이 됐다. 이래서 페어로 뭉쳐 시키는구나 싶을 정도로....
풀었던 문제보다 더 어려운(유형을 처음 풀어봐서 그럴지도)문제들을 마주하자 헤맸는데, 그래도 몇 문제는 검색도 해보고 머리도 짜내서 풀었다. 9 10 11번 ...이런 문제들이 어려워져서 난감... 도움 받아서 어떻게 냈다. 아직 내 걸로 소화하기에는 조금 무리가 있는 듯 하니 제대로 이해하고 적용하는 사고방식을 본따려고 노력해야겠다.
실시간 강의에서 배운 거 + 페어분이 알려주신 거.
slice(숫자, 숫자) 는 시작점 - 끝점을 기준으로 자르는데, 끝점보다 앞에서 자른다. 즉 (0,2)라면 0, 1자리 까지만 잘라준다.
직접 디버깅을 위해 console.log에 in the loop: 붙여서 루프 확인하기 가능... 페어분이 알려주심...
debugger; 함수() <- 콘솔에서 앞과 같이 디버그하면 소스탭에 창이 뜸. 전후로 누르면서 디버그 확인.
변수를 하나 만들어두고, 그 변수에 이름이 없는 함수를 할당한 것이 '함수 표현식'이다.
return은 함수 외부에서 이 함수를 호출했을 때 돌려받을 값을 말한다.
용어 통일: 함수를 정의 할 때 () 안에 넣는걸 매개변수. 함수를 호출할 때 ()안에 넣는 것을 전달인자로 약속.
매개변수의 갯수 > 전달인자의 갯수 : 할당되지 않은 변수는 undefined로 초기화 되어 있다.
전달인자의 갯수 > 매개변수의 갯수 : 오류가 나지 않고 무시된다. JS의 장점이자 단점!
문자열과 같은 원시자료형은 임의로 값을 바꿀 수 없다, 재할당만 가능. 참조자료형(배열, 객체)는 바꿀 수 있다. JS 프로퍼티 어트리뷰트 내부 슬롯의 writable이 true여야 값을 수정할 수 있는데 배열은 true지만 문자열은 false이기 때문.
가장 큰 거, 긴 거, 작은 거를 구하라고 하는 문제 의사코드?
// 기준을 하나 만들고 차례대로 기준과 비교.
// 기준보다 크면 기준을 교체하기.
// 기준보다 크지 않으면 그대로 두기.
// 마지막에 기준을 리턴시키는 걸 기억한다.
break문이란?
보통 반복문은 조건이 falsy할 경우 빠져나온다. 그러나 이 외에도 반복문을 빠져나오는 방법이 몇 개 있다.
이 중 하나가 break문.
break문은 실행되는 즉시, 가장 가까운 반복문 혹은 switch문을 종료시킨 뒤 빠져나와 다음 명령어로 넘어간다. 이를 통해 불필요한 과정이 이후 진행되는 것을 방지한다.
참고. 반복문 본문이 한 번 실행되는 걸 iteration이터레이션 이라고 부른다.
-> 반복문 빠져나오기로 같이 쓰이는 continue문법이 있다. 현재의 반복만을 멈추고 다음 반복으로 넘어가서 진행된다.
->break 레이블 이름을 사용해서 중첩 반복문 한번에 빠져나오기 가능하다. 레이블 이름이란? loop: for( ; ; )에서 loop처럼 반복문 앞에 콜론과 함께 써주는 식별자이다. break 레이블 이름하면 해당 레이블의 반복문을 빠져나오게 된다.
- 변수와 타입
https://hj97codeart.tistory.com/44
변수와 타입
06_computeAverageLengthOfWords2 두 단어를 입력받아 두 단어의 평균 길이를 내림하여 리턴해야 합니다. 입력: 인자 1 : word1 string 타입의 알파벳 문자열 word1.length는 10 이하 인자 2 : word2 string 타입의 알파
hj97codeart.tistory.com
- 조건문(후에 풀이예정)
- 반복문 (후에 풀이예정)
- Git 관리법을 배워야겠다. 이전에 clone만들거나 push 하는 법만 배웠지 브런치 내는 법까지는 안 배웠는데, 페어분이 직접 수업 외 화상으로 알려주셔서 신기하게 구경(?)했다. 이러면 훨씬 관리가 쉽고, 어차피 팀플 할 때 다 쓰게 될 거라고... 가령 git stash 같은 거.
- 어려운 문제 마주하면 쪼개서 생각하는 습관. 손으로 분석하는 것도 도움이 된다고 한다.