본문 바로가기
카테고리 없음

Javascript 문제 풀이 기록

by 천우산__ 2023. 4. 5.

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
    *    
   ***   
  *****  
 ******* 
*********
 ******* 
  *****  
   ***   
    *