본문 바로가기

Fundamentals/Algorithms

[해커랭크] Staircase

문제링크

 

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 메소드를 사용하여 각 줄에 필요한 공백과 # 기호의 수를 조절하여 문자열을 생성합니다.

'Fundamentals > Algorithms' 카테고리의 다른 글

[해커랭크] Time Conversion  (0) 2023.11.16
[해커랭크] Birthday Cake Candles  (0) 2023.11.15
[해커랭크] Mini-Max Sum  (0) 2023.11.14
[해커랭크] Diagonal Difference  (0) 2023.11.13
[해커랭크] A Very Big Sum  (0) 2023.11.10