Fundamentals/Algorithms
[해커랭크] Staircase
글로링러
2023. 11. 15. 12:35
Staircase | HackerRank
Print a right-aligned staircase with n steps.
www.hackerrank.com
이 문제에서는 크기가 n인 계단을 출력해야 합니다.
계단의 기초와 높이는 모두 n과 같으며, # 기호와 공백을 사용하여 그려집니다.
마지막 줄은 공백 없이 시작합니다.
풀이 :
function staircase(n: number): void {
const list = new Array(n).fill(' ')
for(let i=1; i<n+1; i++){
list[n - i] = '#';
console.log(list.join(''));
}
}
n 크기의 배열을 생성하고 fill 메서드를 활용하여 모든 요소를 공백으로 초기화합니다. for문으로 배열을 순회하면서 배열의 끝 자리의 요소를 '#'으로 변경한 뒤 join 메서드를 통해 배열의 요소를 문자열로 결합하여 출력합니다.
다른 풀이:
function staircase(n: number): void {
for (let i = 1; i <= n; i++) {
let line = ' '.repeat(n - i) + '#'.repeat(i);
console.log(line);
}
}
repeat 메소드를 사용하여 각 줄에 필요한 공백과 # 기호의 수를 조절하여 문자열을 생성합니다.