[Algorithms] 10. Pyramids
7651 단어 AlgorithmsAlgorithms
문제
해결방법
- for loop row를 만든다
- 빈 문자열을 만든다 level
- for loop row 안에서 for loop column을 돈다
- center index를 찾는다
- midpoint - row <= column && midpoint + row >= column 조건식을 넣는다 🤣
- n, row = 0, level = ''
- if 문 row === n (column이 중요하다)
- max level.length === 2*n -1 -> move to next row
- midpoint에 따른 조건문
- 변수 add를 선언
제출 코드
function pyramid(n) {
const midpoint = Math.floor((2*n-1) /2);
for (let row = 0; row < n; row++) {
let level = '';
for (let column = 0; column <2 * n-1; column++) {
if (midpoint - row <= column && midpoint + row >= column) {
level += '#';
} else {
level += ' ';
}
}
console.log(level)
}
}
function pyramid(n, row = 0, level = '') {
if (row === n) {
return;
}
if (level.length === 2 * n-1) {
console.log(level);
return pyramid(n, row +1);
}
const midpoint = Math.floor((2*n-1)/2);
let add;
if(midpoint - row <= level.length && midpoint + row >= level.length) {
add = '#';
} else {
add = ' ';
}
pyramid(n, row, level + add);
}
Author And Source
이 문제에 관하여([Algorithms] 10. Pyramids), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@peng0code/Algorithms-10.-Pyramids저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)