Ethan(기린)
그린기린그림 일기
Ethan(기린)
전체 방문자
오늘
어제
  • 전체보기 (43)
    • Language (4)
      • JavaScript (4)
    • Web (0)
      • HTML (0)
    • Problem Solving (29)
      • BOJ (18)
      • 프로그래머스 (10)
    • Computer Science (3)
      • Algorithm & Data Structure (2)
      • Network (1)
    • Error Log (4)
    • Config (1)
      • Test (1)
    • Thinking (2)
      • Retrospect (2)
      • Essay (0)
    • Book (0)

인기 글

최근 글

최근 댓글

태그

  • 알고리즘
  • 객체 지향 프로그래밍
  • 완전탐색
  • Java
  • 백준
  • Lv. 1
  • Problem Solving
  • Object-oriented programming
  • Java의 정석 3rd Edition
  • 문자열
  • Lv. 2
  • 프로그래머스
  • JavaScript
  • boj
  • OOP

티스토리

hELLO · Designed By 정상우.
Ethan(기린)

그린기린그림 일기

[ Lv. 1 ] 직사각형 별 찍기 - JavaScript
Problem Solving/프로그래머스

[ Lv. 1 ] 직사각형 별 찍기 - JavaScript

2022. 6. 10. 21:49

문제 설명 

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.

제한 조건

n과 m은 각각 1000 이하인 자연수 입니다.

예시

입력

5 3

출력

*****
*****
*****

내 풀이

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

문제 해결 과정

입력되어 들어오는 데이터의 전처리를 한 후 가로 길이 n만큼 *를 반복하고, 세로 길이 m만큼 *를 반복하면 문제를 해결할 수 있겠다고 생각하며 문제에 접근했다.

바로 생각이 들었던 것은 이중 반복문을 이용하는 방법이 떠올랐다. 그렇지만 이 방법보다 조금 더 코드를 줄일 수 있는 방법이 없을까 고민하다가 생각한 것이 내장 함수인 repeat 메서드였다.

우선 n만큼의 가로길이를 반복하고, 다음 줄로 넘어가려면 줄바꿈이 일어나야 하기 때문에 그 결과 값에 '\n' 이스케이프를 추가했고, 그 문자열을 다시 이어서 repeat 메서드에 적용해서 m만큼의 세로길이를 반복하게 처리했다.


구현에 사용했던 repeat 함수의 구문은 다음과 같다.

str.repeat(count)

매개변수

  • count  : 문자열을 반복할 횟수. ( 0과 양의 무한대 사이의 정수 )

반환 값 : 현재 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열


참조

[ MDN - repeat ]

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/repeat

 

String.prototype.repeat() - JavaScript | MDN

repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.

developer.mozilla.org

 

저작자표시 비영리 (새창열림)

'Problem Solving > 프로그래머스' 카테고리의 다른 글

[ Lv. 2 ] 소수 찾기 - JavaScript  (0) 2022.06.25
[ Lv. 1 ] 모의고사 - JavaScript  (0) 2022.06.25
[ Lv. 1 ] 최대공약수와 최소공배수 - JavaScript  (0) 2022.06.11
[ Lv. 1 ] 핸드폰 번호 가리기  (0) 2022.06.11
[ Lv. 1 ] 하샤드 수 - JavaScript  (0) 2022.06.10
    'Problem Solving/프로그래머스' 카테고리의 다른 글
    • [ Lv. 1 ] 모의고사 - JavaScript
    • [ Lv. 1 ] 최대공약수와 최소공배수 - JavaScript
    • [ Lv. 1 ] 핸드폰 번호 가리기
    • [ Lv. 1 ] 하샤드 수 - JavaScript
    Ethan(기린)
    Ethan(기린)

    티스토리툴바