자바스크립트 다시 복습...
배운 점
문자열
'124'라는 문자와 숫자 5를 더할 수는 없다
만약 더하면 이렇게 나온다
'124' + 5
'1245'
5도 문자열로 자동으로 인식해서 129가 아닌 '1245'로 출력됨
만약 문자열 '124'를 숫자로 바꾸어 숫자 5와 합치고 싶다면
parseInt('124') + 5
console.log()
참고로 parseInt는 정수로 바꾸는 거임
parseInt('3.34')
출력값 3
parseFloat('3.14')
출력값 3.14 (소수까지 나옴)
형식 : 조건식 ? 참일 때 실행되는 식 : 거짓일 때 실행되는 식
ex: let value = 5 < 0 ? '참입니다' : '거짓입니다';
value;
거짓입니다가 출력된다
let i = 0;
while (true) {
if (i === 5) break;
i++
}
console.log(i)
i가 5면 5 === 5 가 되므로 더 이상 진행하지 않고 종료된다
let i = 0;
while (i < 10) {
i++
if (i % 2 === 0) { // 짝수만
continue; //건너뛰기
}
console.log(i);
}
나머지가 0인 수는 짝수니까 그 때는 건너뛰고 계속 해라라는 뜻
만약 i가 3이면 나머지 값이 1이니까 3이 찍힐 것이다
continue도 잘 쓰면 좀 더 코드를 간단하게 쓰기 좋을 듯 하다
for (let i = 0; i < 10; i++) {
for (let j = 0; j < 10; j++) {
console.log(i, j);
}
}
// i==0 j==0 console.log(0,0)
// i==0 j==1 console.log(0,1)
// ......중략
// i==0 j==9 console.log(0,9)
// i==0 j==10 조건x
// i==1 j==0 console.log(1,0)
중첩 반복문의 구조가 좀 헷갈려서 헤맸다
그래서 팀원들의 조언을 듣고 직접 써보았는데 아주 이해가 잘 된다!!
for (let i = 0; i < 5; i++){
if(i % 2 === 0) continue;
for (let j = 0; j < 5; j++) {
if(j % 2 === 0) continue;
for (let k = 0; j < 5; k++) {
if (k % 2=== 0) continue;
console.log(i, j, k);
}
}
}
이건 3개의 변수가 있는 중첩반복문이다
갑자기 갯수가 늘어나니까 빡세졌지만 그래도 아래와 같이 직접 써보니
이해가 빡 되었다
// i == 1 j == 0 continue
// i == 1 j == 1 k==0
// i == 1 j == 1 k==1 console.log(1,1,1)
// i == 1 j == 1 k=continue
// i == 1 j == 1 k==3 (1,1,3)
// i == 1 j == 1 k=4 continue
// i == 1 j == 1 k=5 조건x
// i == 1 j == 2 continue
// i == 1 j == 3 k = 0 continue
// i == 1 j == 3 k = 1 (1,3,1)
for (let i = 2; i < 10; i++) {
if(i % 2 === 0) continue;
for(let j = 1; j < 10; j++) {
if(j % 2 === 0) continue;
console.log(i, j, i * j)
}
}
이건 짝수를 제외한 구구단을 출력하는 중첩반복문이다
이걸 실행하면 2,4,6,8단(짝수) 빼고 나머지 홀수 단이 나온다
만약 짝수단만 나오게 하고 싶다면
for (let i = 2; i < 10; i++) {
if(i % 2 != 0) continue;
for(let j = 1; j < 10; j++) {
if(j % 2 != 0) continue;
console.log(i, j, i * j)
}
}
나머지가 0이 아니라는 표시로 바꾸어주면 간단하게 해결
근데 만약에 모든 구구단을 출력하고 싶다면?
for (let i = 2; i < 10; i++) {
for(let j = 1; j < 10; j++) {
console.log(i, j, i * j)
}
}
if를 지워주니 해결 ㅎ
느낀 점
알고리즘 강의를 들었는데 컴퓨팅적인 사고가 참 어려웠다
그리고 내가 표현하고자 하는 바를 아직 파이썬으로 어떻게 적어야할지 어색하고 감이 잡히지 않았다
프로그래머스에서 0단계를 풀어봤는데 2문제 풀고 막혀서ㅋㅋㅋ
아 내 실력이 아직 여기구나 하는 생각이 들었다
파이썬도 복습해야하는데 자바스크립트에서 안 배운 개념 배우기도 바쁘다
오늘은 자바스크립트에서 중첩반복문을 배웠는데, 파이썬으로 진행되는 알고리즘 강의에도 비슷하게 이중for문이 나와서 표현방식만 다를 뿐 비슷하게 플로우가 흘러가는구나 하는 생각이 든다
자바스크립트 중첩반복문으로 구구단도 만들었는데 재밌었다
그래도 어려운게 있으면 도와주려는 튜터님들과 정보 공유하는 동기들이 있어 힘이 난다
배워야 할 게 많은데 중심을 잘 잡고 차근차근 해냐가야겠다
자기 전에 폼롤러하고 자야겠다
학습 목표 달성여부
내일 학습 목표
꺽이지 않는 마음이 제일 중요한 것 같아요
차근 차근 화이팅입니다 ㅎㅎ