프로그래머스 직사각형 별찍기 자바스크립트

2022. 1. 14. 14:49코딩공부/JavaScript 알고리즘

문제

 

문제 설명

process.stdin.setEncoding('utf8');
process.stdin.on('data', data => { //입력받은 숫자를 'data에 받는다'
    const n = data.split(" "); // data(입력받은 숫자)를 배열로 변경
    const a = Number(n[0]), b = Number(n[1]); //a는 한줄에대한 별의 갯수, b는 몇줄 출력
    console.log(a)
    console.log(b);
});

 

문제 풀이

process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    const n = data.split(" ");
    //.split(seperator,limit) 함수는, 문자열을 'seperator'로 잘라서. 'limit' 크기 이하의 배열에 잘라진 문자열을 저장하여 리턴한다
    // split 함수의 seperator을 " "로 지정하여 문자열을 구분자로 잘라서 각각의 잘라진 조각들을 배열에 저장하여 리턴하게 한다.
    // seperator가 " " 이기때문에 5 6을 입력하면 [5,6]으로 받는다
    const a = Number(n[0]), b = Number(n[1]); 
    // Number() 함수 : 문자열을 숫자로 변환
    for(let i=0; i<b; i++){ //i을 선언해주고 몇줄(b)만큼 반복
        let str = ""; //출력할 변수 선언
        for(let j=0; j<a; j++){ // j선언후 별을 한줄에 몇개 찍을지 반복
            str = str + "*" //출력할 변수에 별을 담는다
        } 
    console.log(str) // 출력
    }
    // *을 a번찍고 출력을 b번 반복


});

 

다른 풀이들

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

});
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);
let result = "";

for (let i = 0; i < b; i++) {
    for (let j = 0; j < a; j++) {
        result += '*';
    }
    result += '\n'
}
console.log(result);
});

 

참고 자료

 

- Number() 함수

https://www.codingfactory.net/10392

 

JavaScript / 함수 / Number() / 문자열을 숫자로 변환하는 함수

Number() Number()은 문자열을 숫자로 변환하는 함수입니다. 문법 Number( object ) object : 문자열 또는 문자열을 값으로 하는 변수 등을 입력합니다. 숫자로 변환할 수 없는 값인 경우 NaN을 반환합니다.

www.codingfactory.net

- 변수 선언 방식

https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

var, let, const 차이점

JavaScript에서 변수 선언 방식인 `var, let, const` 의 차이점에 대해 알아보자. 1. 변수 선언 방식 우선, `var`는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. 변수를 한 번 더 선언했음에도 불구하

velog.io

- split 함수

https://hianna.tistory.com/377

 

[Javascript] 문자열을 배열로 변환 (split 함수)

문자열을 일정한 구분자로 잘라서 각각의 문자열을 배열로 저장하는 방법을 알아보도록 하겠습니다. 문자열을 일정한 구분자로 잘라서 배열로 저장하기 위해서는 split() 함수를 사용합니다.  sp

hianna.tistory.com

- repeat 함수

https://www.codingfactory.net/10916

 

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

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

www.codingfactory.net

 

** 프로그래머스는 문제와 문제풀때 기본 틀을 재공을 해주는데 여러문제를 보는데 이 틀을 이해 못하시는 분이있다면 문제 분석과 왜 이렇게 기본 재공을 해주셨는지 즉 틀을보고 해석하는 능력을 키우시는 것부터 하셨으면 합니다.