[Algorithms] 10. Pyramids

7651 단어 AlgorithmsAlgorithms

문제


해결방법


  1. for loop row를 만든다
  2. 빈 문자열을 만든다 level
  3. for loop row 안에서 for loop column을 돈다
  4. center index를 찾는다
  5. midpoint - row <= column && midpoint + row >= column 조건식을 넣는다 🤣

  1. n, row = 0, level = ''
  2. if 문 row === n (column이 중요하다)
  3. max level.length === 2*n -1 -> move to next row
  4. midpoint에 따른 조건문
  5. 변수 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);
}

좋은 웹페이지 즐겨찾기