프로그래머스 직사각형 별찍기 자바스크립트
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
- 변수 선언 방식
https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90
- split 함수
https://hianna.tistory.com/377
- repeat 함수
https://www.codingfactory.net/10916
** 프로그래머스는 문제와 문제풀때 기본 틀을 재공을 해주는데 여러문제를 보는데 이 틀을 이해 못하시는 분이있다면 문제 분석과 왜 이렇게 기본 재공을 해주셨는지 즉 틀을보고 해석하는 능력을 키우시는 것부터 하셨으면 합니다.
'코딩공부 > JavaScript 알고리즘' 카테고리의 다른 글
프로그래머스 행렬의 덧셈 자바스크립트 (0) | 2022.01.17 |
---|---|
프로그래머스 핸드폰 번호 가리기 자바스크립트 (0) | 2022.01.15 |
프로그래머스 문자열을 정수로 바꾸기 자바스크립트 (0) | 2022.01.15 |
프로그래머스 가운데 글자 가져오기 자바스크립트 (0) | 2022.01.15 |
프로그래머스 짝수와 홀수 자바스크립트 (0) | 2022.01.14 |