데굴데굴

TIL: 2022-08-24 본문

Lesson/TIL

TIL: 2022-08-24

aemaaeng 2022. 8. 24. 22:13

⚙️ 오늘 배운 주제

JavaScript 기초 제어문

 

🐹 오늘의 기분

와우 오늘 문제는 정말 매콤했다! 저번 주 금요일 ot를 제외하면 이제 막 3일차에 접어드는데 코플릿 문제가 확 어려워져서 이제 진짜 부트캠프가 시작되는구나... 실감되기 시작했다. 페어분께 코드를 설명하면서 내가 애매하게 알고 있었던 부분이 뭔지 제대로 파악할 수 있어 좋았다. 혼자 했다면 내가 다 알고 있다고 생각하고 어물쩡 넘어갔을 것 같은데 페어분의 질문에 내가 작성한 코드를 다시 한 번 검토해보고 생각해보면서 개념 정립을 다시 해볼 수 있어 좋았다. 페어프로그래밍은 나같은 극도의 I형 인간에게 조금 힘든 방식인 건 맞지만, 그래도 얻어가는 것이 더 많은 것 같다. 다음 페어분과는 또 어떤 경험을 하게 될 지 여전히 두려움 반, 설렘 반이다. 내가 피해가 되지 않았으면..!
또 의사코드를 작성하는 것이 확실히 도움되는 걸 느꼈다. 복잡한 코드를 짜야 할 때 차근차근 생각해보면서 자연어로 써보면 나중에 코드를 봤을 때 내가 무슨 의도로 이 코드를 작성했는지도 금방 알 수 있고, 다른 사람에게 설명할 때에도 추상적으로 설명하지 않아도 되어 효율적이다.
프로그래밍을 생전 처음으로 접했을 때 구구단 출력하는데에도 애를 먹었던 게 생생한데 이제는 수월하게 할 수 있어서 뿌듯하다.
앞으로 막히는 부분이 나와도 꾸준히 하면 언젠가는 이해하는 순간이 올 것이라고 믿으며 열심히 해봐야겠다

 

🗝 키워드

반복문, for문, while문, 이중반복문, break, 소수, 개발자도구 debugger

 

🗣 스스로에게 설명

자바스크립트의 for 반복문 작성 방법은 아래와 같다.

for (초기화; 조건식; 증감문) {
  반복할 내용;
}

for 반복문을 중첩하여 이중 반복문을 만들 수 있다.
이중 반복문은 안쪽의 반복문이 다 돌고 난 후 바깥쪽의 반복문에서 증감문이 실행된다.
구구단 2단부터 9단까지 출력하고 싶다면 이중 반복문을 이용한다.

for (let i = 2; i <= 9; i++) {
  for (let j = 1; j <= 9; j++) {
    console.log(i * j);
  }
}

while문 작성 방법은 for문과 살짝 다르다.
for문에서는 변수의 초기화와 증감문이 괄호 하나에서 전부 이루어지지만, while문은 그렇지 않다.

// while문

변수 초기화;

while (조건식) {
  반복할 내용;
  증감문;
}

while문 바깥에서 변수를 미리 초기화해둔후 반복문을 작성한다.
만약 여기서 while문 안에 증감문을 작성하지 않는다면 반복문이 영원히 실행된다.
반복문을 빠져나오게 하고 싶을 땐 break를 이용한다.
소수는 1과 자기 자신만을 약수로 갖는 수이다.
1은 소수가 아니고, 2를 제외한 모든 짝수 또한 소수가 아니다.
개발자도구에서 테스트하고 싶은 코드를 입력한 후 debugger; 를 입력하면 디버거를 실행할 수 있다.
그 동안 일일이 vscode에 복사해서 디버깅했는데 개발자도구를 적극적으로 활용해야겠다.

 

❓ 막히는 or 막혔던 부분

소수 문제가 정말..! 어려웠다. 예전에 백준에서 파이썬으로 풀었지만 그 때 제대로 이해하지 않고 넘어간 게 발목을 제대로 붙잡았다ㅎ 이번 학습을 통해 소수를 구하는 방법을 완전히 이해할 수 있어 좋았다!
나눗셈과 나머지 연산자를 쓰지 않고 짝/홀수를 판별하는 코드를 구현하는 것이 어려웠다. 짝홀 문제엔 마법의 숫자 2를 기억하기😉
이중반복문은 잘 와닿지 않는 개념 중 하나였는데 연습문제를 계속 풀고 또 설명해보면서 점점 윤곽이 보이기 시작했다.

 

🔍 공부가 더 필요한 부분

문자열 slice와 substring 직접 실습해보기
ParseInt가 뭐지? (+ 설명이 잘 된 글이 있어 가져와봤다. 🔗 ParseInt와 Number의 차이 🔗 )

 

🛠 질문 만들기

  • 구구단을 출력하고 싶다면 이중 반복문 중 안쪽 반복문에서 변수의 초기값을 몇으로 설정해야 하는가?
  • for문과 while문의 차이는 무엇인가?
  • 특정 조건에서 반복문을 중지하고 싶다면 어떤 문법을 써야할까?

'Lesson > TIL' 카테고리의 다른 글

TIL: 2022-08-29  (0) 2022.08.29
TIL: 2022-08-26  (0) 2022.08.26
TIL: 2022-08-25  (0) 2022.08.25
TIL: 2022-08-23  (0) 2022.08.23
TIL: 2022-08-22  (0) 2022.08.22
Comments