250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

devlog_owen

[프로그래머스] 직사각형 별찍기 본문

algorithm/(js)프로그래머스

[프로그래머스] 직사각형 별찍기

developer_owen 2023. 11. 1. 19:16
728x90

문제

 

송창현 넌 lv0이야 라고 말해주는 문제였다. 처음에 저 문제 답 템플릿에 적혀있는 문법도 뭔소린지 몰라서 무슨 패기인지 다 지우고 했었는데 저걸 지우지 말고 바로 검색해볼걸....


 

나의 풀이

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

 

일단 제일 상단의 저 두줄...처음 뵙겠습니다...덕분에 오늘 1시간 넘게 문제와 씨름할 수 있었어요...

 

process.stdin:

Node.js 환경에서 표준 입력(stdin)을 나타내는 스트림 객체. 이 객체를 사용하면 프로그램이 외부에서 텍스트 데이터를 읽을 수 있다. 

const n = ~~split으로 공백문자를 ""로 구분해준다. //  ["5", "3"]

const a = Number(n[0]), b = Number(n[1])

처음에 n,m이 코드에 들어가야할 것 같았는데 n,m을 굳이 코드에 칠 필요가 없었다.

위에 주석 달아놓은것처럼 배열로 있다가 숫자로 변환되면서 각각 변수 a,b에 저장된다.

a는 가로의 길이, b는 세로의 길이.

그다음은 for문으로 세로 길이를 반복해서 찍어주고 (3번), 가로길이만큼 a를 반복해서 찍어준다(5번)

솔직히 왜 행의 갯수(b)를 먼저 찍어야하는지 모르겠다... 내 느낌상 가로길이만큼 먼저 찍은다음 마지막에 행 갯수만큼 반복해서 곱하면 될거같은데... 외워야하는건가??

 

이번 게시글은 다른사람 풀이가 없다. 왜냐면 내가 쓴 풀이가 거의 다른사람 풀이와 같기 때문이다. (구글링으로 사실상 다른사람 풀이 베낀 느낌쓰)

사실오늘은 다른사람 풀이 해독할 힘이 없다... 

 

 

728x90