Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 모두싸인마케터
- 모두싸인
- 아주작은습관의힘
- 좋은습관
- 블록체인
- 알고리즘
- 마케팅
- 아이폰13
- 아이폰
- 독서리뷰
- 모두사인
- 온라인계약
- 독후감
- atomichabits
- 전자계약
- 전자계약서
- 모두싸인마케팅
- 전자계약서비스
- 코딩테스트
- 습관
- 전자계약시스템
- 갤럭시노트20
- 옥소폴리틱스
- map
- 전자계약솔루션
- 아이폰12
- javascript
- 자릿수더하기
- 자바스크립트
- 모두의사인
Archives
- Today
- Total
찰리의 이야기
Javascript 직사각형 별찍기 본문
반응형
직사각형 별찍기
문제 : 이 문제에는 표준 입력으로 두 개의 정수 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]);
console.log(a);
console.log(b);
});
주어진 자연수 만큼 가로와 세로로 이루어진 직사각형을 출력하는 문제다.
주어진 정수만큼 별을 그려야하기 때문에
반복문을 이용한 문자열을 이용해야겠다는 생각이 들었다.
세로의 길이는 가로를 출력한 것 전체를 반복하여 그리면 된다고 생각하니
중첩된 반복문이 생각되었다.
많은 중첩 반복문은 코드 가독성을 헤치지 않을까 우려되었으나
2번 정도는 봐줄만 하지 않을까 싶어서 일단 풀어보았다.
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 + "*";
}
result = result + "\n";
}
console.log(result);
});
Javascript 에서 문자열은 +로 더해지기 때문에
별을 그리는 것은 문자열(result)에 *을 더하는 것으로 반복하였고,
세로열을 그리는 반복 횟수는 바깥 반복문에서 b횟수만큼 그렸다.
또한 하나의 세로줄이 마칠 때 줄바꿈을 위해서
이스케이프 시퀀스 \n 을 별 끝에 더해주었다.
Javascript에서 문자열을 다룰 때 이스케이프 시퀀스들이 많은 도움이 된다.
여기까지가 내가 구현한 방식이고,
다른 풀이법도 참고해보았다.
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)
}
});
여기서는 문자열의 반복을 이용하는 메서드인 repeat()을 사용하였다.
반복되는 문자열을 사용할때는 reapeat() 메서드를 활용해보자!
오늘의 연습 끝!
직사각형 별찍기
반응형
'찰리: 코딩 연습' 카테고리의 다른 글
Javascript 하샤드 수 (0) | 2021.09.08 |
---|---|
Javascript 핸드폰 번호 가리기 (0) | 2021.09.01 |
Javascript 행렬의 덧셈 (0) | 2021.09.01 |
Javascript x만큼 간격이 있는 n개의 숫자 (0) | 2021.08.28 |
Javascript 자릿수 더하기 (0) | 2021.08.26 |
Comments