오늘 할 내용은 for문, 반복문이다. 개발을 하면서 반복적인 일들이 상당히 많은데 기초적인 문법부터 정리를 먼저 한다.
정리할 내용은 반복문의 for문 & while문이 있다.
for문
for문의 기초적인 문법 구조는 다음과 같다.
for(let i = 0; i<10; i++){
console.log("반복문")
}
여기서 i는 처음시작값 0부터 10미만까지를 반복하여 출력하는데 i++은 증가값이다.
쉽게 정리하자면 i+i라고 보면된다. i 다음으로 오는 값부터 +가 된다.
이번엔 2의 짝수만 출력할 때(특정한 조건)
for (let i = 0 ; i<=10; i+=2){
console.log(i)
}
i+=2 -> i=i+2
2중 for문
2중 for문
for(let i = 2; i<=9; i++){
for(let j = 1; j<=9; j++){
console.log(i+'*'+j+'='+i*j)
}
}
이중으로 for문을 돌리는 방법인데 안쪽에 있는 for문이 1~9까지 한바퀴를 돌리면
바깥쪽 for문이 1번 돌아가는 형식 비유를 하자면
바깥쪽 for문 = 큰 톱니바퀴
안쪽 for문 = 작은 톱니바퀴
while문
while문의 기본 예시를 보자.
let i = 2
while(i<10){
console.log("while문 실행",i)
i++;
}
큰 차이는 없고, let 변수명에 숫자를 넣어준 후에 i값을 반복문을 돌린다.
그렇다면, 비슷한 성격의 반복문은 크게 차이가 없는 걸까?
차이점이 있다. 그리고 사용하는 곳이 각자 스타일이 다르다.
for문 = 정확히 얼만큼 for문을 돌리고 싶은지 범위를 알 때
while문 = 어떤 순간일때 까지만, 이런상황일때까지만?
for문은 배열이랑 잘 어울린다.
ex)
let fruit = ["banana","apple","grappe","mango"]
for(let i = 0; i<fruit.length; i++){
console.log(fruit[i])
}
length는 길이, 배열의 길이값을 반환해줌
length를 통해 아무리 많은 배열의 갯수라도 문법을 통해 배열의 최대 갯수를 식에 넣는다.
console.log 에 출력해보면 banana,apple,grappe,mango 가 출력된다.
문제풀이) 생각보다 생각을 많이해보고 이해를 해야한다.
문제풀이
for(let i=1; i<=50; i++){
let stringValue = i.toString()
let result = ""
for(let j=0; j<stringValue.length; j++){
if(stringValue[j]==="3" || stringValue[j]==="6" || stringValue[j]==="9"){
result = result+"짝"
}
}
console.log(result.length>0?result:i)
결과값 lengh값이 0보다 크면은? 결과값은 i로 출력한다.(result값이 없을떄)
}
toString() 함수 i를 문자열로 바꿔준다.
j보다 큰 stringValue i=<50 숫자값 대신 문자값이 들어가는데 if 조건에는
stringValue[j]는 무조건 3,6,9에 === 무조건 같아야하는 함수를 사용해 3,6,9에서만
"짝"이라는 결과값을 도출한다.
result = result+"짝" 에서는 30도 3이 들어가기 때문에 결과값+값을 넣어준다.
*문제가 많이 어렵고, 한번씩 더 풀어보면서 써봐야겠다.