-
[20221110] 자바스크립트 혼공스 반복문 연습문제 (항해99 프리온보딩 4일차)TIL 2022. 11. 10. 18:59
혼공스 연습문제
1. 1부터 100까지 숫자를 곱한 값을 계산하는 프로그램 만들기 (p 192)
<script> let output = 1 for (i = 1; i <= 100; i++) { output *= i } console.log(`1~100의 숫자를 모두 곱하면, ${output}입니다.`) </script>
"*="을 사용하여 보다 간결히 사용해서 좋다.
2. 중첩 반복문을 사용하여 피라미드 만들기
<script> let output = '' const size = 5 // 위쪽 for (let i = 1; i <= size ; i++) { for (let j = size; j > i; j--) { output += ' ' } for (let k = 0; k < 2 * i - 1; k++) { output += '*' } output += '\n' } // 아래쪽 for (let i = size - 1; i > 0; i--) { for (let j = size; j > i; j--) { output += ' ' } for (let k = 0; k < 2 * i - 1; k++) { output += '*' } output += '\n' } console.log(output) </script>
내가 처음에 풀었던 방식과 답지의 방식을 비교했을 때, 답지의 방식이 좀 더 효율적이고 명확한 느낌이 들어 답지의 해설을 분석해보았다. 첫번째 for문에 중첩되어있는 두번째 for문의 경우, 공백과 *을 그려내는 규칙이다. 즉 할당되는 i값이 무엇이냐에 따라, i값이 크냐 작냐에 따라 똑같은 규칙으로 공백과 *을 일관되게 그려내게 된다. 그렇다면 i값을 1로 잡고 점점 키워나가거나, i값을 최대값인 size로 잡고 점점 줄어드는 방식으로 하여 공백과 *을 점점 커지게 할지, 줄어들게 할지 그려낼 수 있다.
'TIL' 카테고리의 다른 글
[20221125] 항해99 주특기 리액트 첫날🍁(feat. 코딩애플 리액트 강의) (0) 2022.11.25 [20221112] 자바스크립트 함수에 대한 고찰 (feat. 항해99 프리온보딩 6일차) (0) 2022.11.12 [20221111] 자바스크립트 혼공스 함수 연습문제 (feat. 항해99 프리온보딩 5일차) (0) 2022.11.11 [20221108] 자바스크립트 if, switch 조건문 (feat. 항해99 프리온보딩 2일차) (2) 2022.11.07 [20221107] 자바스크립트 기초 문법 (feat. 항해99 프리온보딩 1일차) (0) 2022.11.07