[매일코딩-프로그래머스] 직사각형 별찍기 02
2022. 1. 12. 11:02ㆍWEB Dev/CordingTEST
728x90
어제 풀던 문제를 마저 풀어본다.
[문제] 직사각형 별찍기
n과 m이라는 정수가 두 개 주어진다. 그리고 * (애스터리스크, 별) 문자를 이용해 n x m 인 직사각형 형태를 출력해주면 된다.
[풀이]
가만 보니 내가 반복문으로 출력하는 것은 그냥 한 줄로 쭉 나열되고 있었다. (계속 줄바꿈이 일어남)
그래서 '별찍기' 키워드로 찾아보니 .repeat라는 메소드를 사용하고 있었다.
이런 메소드도 있었구만...
메소드는 외워도 외워도 까먹고 외워도 외워도 새로운게 나오는 것 같다.
역시 문제가 닥치면 찾아봐야겠지..
이제 repeat 메소드 안에 반복갯수를 넣어주면 되니까 반복문을 중첩하지 않아도 된다.
생성된 변수 a가 가로 길이고, b가 세로 길이이다.
그럼 *을 a만큼 반복해서 찍은 한 줄을 b만큼 다시 반복해주면 되니까
for문을 이용해서 간단하게 만들 수 있다.
For 사용
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" ");
const a = Number(n[0]), b = Number(n[1]);
for(let k=0; k<b; k++){
console.log('*'.repeat(a))
}
});
통과!
그런데 맨날 기본 반복문만 써서 ... 다른 반복문도 사용해봐야겠다.
While 사용
while 쓸 때 아래에 ++ 써주는 것을 매번 깜빡하고 부하를 일으킨다.. 😥ㅋㅋㅋ
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" ");
const a = Number(n[0]), b = Number(n[1]);
let i=0;
while (i<b){
console.log('*'.repeat(a))
i++;
}
});
728x90
'WEB Dev > CordingTEST' 카테고리의 다른 글
[매일코딩-프로그래머스] 행렬의 덧셈 01 (0) | 2022.01.14 |
---|---|
[매일코딩-프로그래머스] x만큼 간격이 있는 n개의 숫자 (0) | 2022.01.13 |
[매일코딩-프로그래머스] 직사각형 별찍기 01 (0) | 2022.01.11 |
[매일코딩-프로그래머스] 핸드폰 번호 가리기 01 (0) | 2022.01.10 |
[매일코딩-프로그래머스] 문자열 다루기 기본 03 (0) | 2022.01.05 |