2023.01.12목 맑음 수정필요!

김진겸·2023년 1월 11일
0

1-4알고리즘 수업
배운것
반복문에대해서 배웠다.
for문의 작성방식은 for(최초식,조건식,증감식){실행할 로직}이다.
그리고 작동순서는 최초식->조건식->로직실행->증감문->조건식->로직실행->증감문->조건식->로직실행이다. 조건식에서 조건에 충족하면 true를 반환하고 그렇지 않으면 false를 반환한다. 조건식에서 true를 반환하면 작성한 로직을 실행하고 false를 반환하면 for문 작동을 멈춘다.

예)

for(let i=0;i<=5;i++){
  console.log(i)
}
//0
//1
//2
//3
//4
//5

for문에서 사용할 수 있는 키워드가 두개 있다. 이는 break와 continue이다.
break는 원하는 구간에서 조건문if문을 이용하여 반복문을 종료시킬수 있는 키워드 이다.

예)

for(let i=0;i<=5;i++){
  if(i==3){break}
  console.log(i)
}
//0
//1
//2
//3

continue는 반복문의 원하는 구간에서 조건문if를 이용하여 실행시키지 않을 수 있다.

예)

for(let i=0;i<=5;i++){
  if(i==3){
    continue;
  }
    console.log(i)
}
//0
//1
//2
//4
//5

이제 for문을 제외한 대표적인 반복문을 알아보자.
for-in,for-of,array.forEach,while을 알아보자.

for-in문은 객채를 반복시킬수 있는 반복문이다. 이때 이반복문이 조작할 수 있는 데이터타입은 문자열,객체,배열이다. 작성방식은 다음과 같다.
for(let key in obj){실행할 로직}
key는 매개변수 이므로 아무거나 들어와도 된다. 원하는대로 작성해줄 수 있다.
onj는 변수명,식별자를 입력해주면 된다.
for-in문에서는 obj에 객체를 넣게 되면 객체의 key값을 받아오게 되고 문자열이나 배열을 입력하게 되면 인덱스 값을 가져오게 된다.

예)

const obj={
  name:"otrer",
  age:24
}
const arr =[1,"장풍","맘마","산책"]
const word ="장풍이 보고싶다"
for(let data in obj){
  console.log(data)
}
//'name'
//'age'
const arr =[1,"장풍","맘마","산책"]
const word ="장풍이 보고싶다"
for(let data in arr){
  console.log(data)
}
//'0'
//'1'
//'2'
//'3'
const arr =[1,"장풍","맘마","산책"]
const word ="장풍이 보고싶다"
for(let data in word){
  console.log(data)
}
//'0'
//'1'
//'2'
//'3'
//'4'
//'5'
//'6'
//'7'

key와 index에접근하는것이므로 value와 element에도 접근이 가능하다.
obj[data],arr[data],word[data] 처럼가능하다.

for-0f배열을 반복시킬 수 있는 반복문이다. 배열의 인덱스순서대로 접근하여 element에 접근한다.
작성방식은 다음과 같다.
for(let data of arr){실행할 로직}
data도 매개변수이므로 다른값으로 정해도 된다.
arr에 배열을 넣어도 되고 문자열을 넣어도 된다. 문자열도 배열처럼쓰인다.
예)를 참고하여 작성해보자.

예)

const arr =[1,"장풍","맘마","산책"]
const word ="장풍이 보고싶다"
for(let data of arr){
  console.log(data)
}
//"장풍"
//"맘마"
//"산책"
const word ="장풍이 보고싶다"
for(let data of word){
  console.log(data)
}
//'장'
//'풍'
//'이'
//' '
//'보'
//'고'
//'싶'
//'다'

Array.forEach() 배열에만 사용할수 있다. 사용범위는 배열이고 매서드이다.
forEach()의 작성방법은 다음과 같다.
forEach(요소의 값,요소의 인덱스,순회중인 배열)
Array.foreach(function())를 다음처럼 화살표함수로 작성할수 있다.
Array.forEach((요소의값,요소의 인덱스,순회중인 배열)=>{실행할 코드}처럼 작성가능하다.

예)

const arr =[1,"장풍","맘마","산책"]
arr.forEach((data,idx)=>{
  console.log(data,idx)
})

Array.forEach()에서는 break,continue키워드를 사용할 수 없다.
이때 조건식을 사용하여 break역할을 해주는 조건문을 만들 수 있다.

let check =false
arr.forEach((data,idx)=>{
 if(check === false){
if(idx === 1){
  check =true
  }
   console.log(data,idx)
 } 
})

While :최초식,조건식,증감식이 분리되어 사용된다. 사용범위는 for와 동일,
조건식을 먼저 작성하면 무한 루프에빠지기에 최초식 증감식 조건문을 분리시켜 사용한다.
예)를 통해 작성방법을 익히자.

예)

let answer =0;//로봇이 움직인 횟수
let current =1;// 로봇의 현재 위치
while(current !== 100){
  current++
  answer++
}
answer;
//98
//99

뭘적어야 할까? 내가 어제보다 성장하려면 뭘,어떻게 작성해야하지? 시간은 무한하지 않고 수업은 계속 듣게 된다. 깊이 탐구하는 시간이 물론 내게 도움이되고 성장하게 해주지만 수업내용을 기억하지 못한다면 의미없다. 수업내용을 이해하고 기억하는데 집중하자. 탐구하는 시간은 수업 내용을 다 숙지한 상태에서 탐구하자. 전체적인 흐름을 알고 왜,어떻게 사용하는지 아는것을 목표로 하자.

profile
성장에 목마른 입문자입니다!

0개의 댓글