1일차 → 직사각형 별 찍기(.repeat())
본문 바로가기
항해 중/2주차 알고리즘(프로그래머스)

1일차 → 직사각형 별 찍기(.repeat())

by 은돌1113 2021. 11. 8.

배정 받은 문제를 생각 보다 빨리 풀어서 다른 분들의 문제로 풀어보기로 했습니다.

 

문제 설명

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.

별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력 해보세요.

 

제한사항

n과 m은 각각 1000 이하의 자연수입니다.

 

내가 푼 문제 풀이

process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);
    let jStar = '' // 가로
    let iStar = '' // 세로
    
    for(let i = 0; i<b; i++){ // 세로
        for(let j = 0; j<a; j++){ // 가로
            jStar += '*'
            // 반복문이 돌 때마다 가로의 *을 찍는다.
        }
        iStar += jStar+"\n"
        // 반복문이 돌 때마다 세로의 *을 찍는다.
        jStar = ''
        // 줄바꿈이 되면 jStar는 ''로 만들어서
        // 새롭게 *을 찍을 수 있도록 구현한다.
    }
    
    console.log(iStar)
});

 

다른 사람이 푼 문제 풀이

 

.repeat() 메소드(객체 안에 들어있는 함수)는 문자열을 반복한 값을 반환한다. (repeat : 반복하다)

(문법) -> 반복할 문자열.repeat(반복 횟수)

(예제) -> 'abc'.repeat(2) -> 'abcabc'

process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);
    const star = '*'.repeat(a)
    
    for(let i = 0; i < b; i++){
        console.log(star)
    }
});

https://www.codingfactory.net/10916

 

JavaScript / Object / String.repeat() / 문자열을 반복한 값을 반환하는 메서드

.repeat() .repeat() – 문자열을 반복한 값을 반환하는 메서드입니다. IE는 Edge부터 지원합니다. 문법 string.repeat( count ) 예제 'abc'.repeat( 2 ) abc를 두 번 반복한 abcabc를 반환합니다.

www.codingfactory.net

 

https://programmers.co.kr/learn/courses/30/lessons/12969

 

코딩테스트 연습 - 직사각형 별찍기

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수

programmers.co.kr

 

댓글