1. 아래 코드 실행 시 오류 발생의 원인 찾기
const array = []
for (const i = 0; i < 3; i ++){
array.push((i + 1) * 3 )
}
console.log(array)
> for 문 안쪽 변수 i 선언이 변할 수 없는 변수를 선언하는 const 로 선언하였기 때문, let으로 수정하면 정상적으로 작동
2. 1부터 100까지 숫자를 곱한 값을 계산하는 코드 작성
let output = 1
for (let i = 2; i < 101; i ++) { // i 는 2부터 1씩 증가(0 부터 시작하면 결과값 0으로 될 것)
output += i // output 과 곱한 값을 output 으로 지정한다
}
console.log(output) // 5050
3. 피라미드 + 역 피라미드 생성
// code
output = ' '; // 공백 선언
const size = 5; // 기본 사이즈
for (let i = 1; i < 10; i++) {
if (i % 2) { // i가 홀수 일 때
star = '*'.repeat(i) // '*' i만큼 반복
output_size = Math.floor((size * 2 - i) / 2) // 양 옆 공백 계산식 10 - 별 찍힌 개수 / 2 (소수점 버림)
space = output.repeat(output_size) // 양 옆 공백 만큼 반복
console.log(space + star + space) // 가운데 '*' 출력할 수 있도록 양 옆 공백 처리
}
}
for (let i = 8; i > 0; i--) { // * 9회 출력은 한번만 되므로, 줄여가는 코드는 8부터 시작
if (i % 2) { // 그 외 상동
star = '*'.repeat(i)
output_size = Math.floor((size * 2 - i) / 2)
space = output.repeat(output_size)
console.log(space + star + space)
}
}
// output
*
***
*****
*******
*********
*******
*****
***
*