자바스크립트 Chapter 6. 다중반복문

2025. 5. 10. 23:41·개인공부/코드트리 JS

Lesson 1. 사각형 별 출력

반복되는 구조를 파악하고 묶으면 다중 for문을 만들 수 있다

***
***
***

코드 출력 방법

 

가로로 3번 반복되는 별이 세로로 3번씩 반복되고 있는 걸 발견할 수 있다

 

n을 입력했을 때 n*n의 사이즈로 별이 출력되는 걸 만들어보자

1. 먼저 가로줄에서 n개의 별이 찍혀야하고,

2. 이것이 세로로 n번 반복되어야 한다.

 

따라서 다음과 같은 코드를 사용할 수 있다

const fs = require("fs");
let input = fs.readFileSync(0).toString().trim();

let n = Number(input);

result = "";

for (let i=0; i<n; i++){
    for (let j=0; j<n; j++){
        result += ('*' + "");        
    }
    result += ("\n");
}

console.log(result);

i j k와 같은 순서로 for문의 변수를 이용하는 경우가 많은데

특히 i와 j는 생김새가 같아 문제를 일으키는 경우가 많으니 주의하자

복붙하다가 i와 j를 바꾸지 않는 경우가 다반사다


문제 중 하나

N=3일 때

*
***
*****

N=5일 때 

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

다음과 같이 찍히도록 반복문을 짜는 문제

관짜는 줄 알았다

머리터지는 줄

별찍기에 막히다니. . . . . . .

 

1+ i*2개씩 늘어난다는 점을 이용해서 코드를 짜보았다

const fs = require("fs");
let n = Number(fs.readFileSync(0).toString().trim());

let str = "";

for (let i=0; i<n; i++){ //n개의 줄을 반복한다
    str = "";
    str += "*";

    for (let j=0; j<i*2; j++)
        str += "*";
    
    console.log(str);
}

해설을 보았는데, 별의 개수가 2*i+1점을 찾은 게 맞았다

다만 나는 1개를 먼저 찍고, 2*i개를 따로 찍었다면

해설에서는 쉽게 2*i+1개를 찍었다

 

쫄지말고 푸는 게 중요한 것 같다

 

Lesson 2. 행에 대해 대칭인 별 출력

// 변수 선언 및 입력
const fs = require("fs");
let n = Number(fs.readFileSync(0).toString().trim());

let str = "";

// 길이가 n인 직각삼각형을 출력합니다.
for (let i = 0; i < n; i++) {
    str = "";
    for (let j = 0; j <= i; j++) {
        str += "* ";
    }
    console.log(str);
}

// 길이가 n-1인 직각삼각형을 뒤집어 출력합니다.
for (let i = n - 2; i >= 0; i--) {
    str = "";
    for (let j = 0; j <= i; j++) {
        str += "* ";
    }
    console.log(str);
}

대칭인 별 문제는 위와 같이 위쪽 부분과 아래쪽 부분을 나눠서 출력하면 된다

위 코드는 n-1인 직각삼각형을 '뒤집어' 출력한다는 부분이 특히 마음에 들어 가져온 기본 문제다

'개인공부 > 코드트리 JS' 카테고리의 다른 글

자바스크립트 Chapter 5. 단순 반복  (0) 2025.05.10
자바스크립트 Chapter 4. 조건문  (0) 2025.05.06
자바스크립트 Chapter 3. 연산자  (0) 2025.04.29
자바스크립트 Chapter 2. 입출력  (0) 2025.04.29
자바스크립트 Chapter 1. 기본 출력  (0) 2025.03.04
'개인공부/코드트리 JS' 카테고리의 다른 글
  • 자바스크립트 Chapter 5. 단순 반복
  • 자바스크립트 Chapter 4. 조건문
  • 자바스크립트 Chapter 3. 연산자
  • 자바스크립트 Chapter 2. 입출력
피까츄
피까츄
프로그래밍 마스터가 될테야
  • 피까츄
    프로그래밍 마스터
    피까츄
  • 전체
    오늘
    어제
    • 분류 전체보기 (63) N
      • 컴퓨터가 이상해요 모음집 (3)
      • 프로그래밍 (0)
      • 회고 (0)
      • 1학년 (21)
        • 명품 HTML+CSS+JS (10)
        • 쉽게 배우는 C언어 Express (2)
        • R언어 (9)
      • 2학년 (3)
        • C언어로 쉽게 풀어쓴 자료구조 (1)
        • 프로그래밍 언어론 (2)
      • 개인공부 (23) N
        • 백준 (17)
        • 코드트리 JS (6) N
      • 교재 (9)
        • 이것이 C++이다 (0)
        • 이것이 JAVA다 (0)
        • 혼자 공부하는 컴퓨터구조 + 운영체제 (1)
        • 혼자 공부하는 데이터통신 (0)
        • 코어 자바스크립트 (8)
      • 유데미 (3)
        • 100일 코딩 챌린지 (3)
  • 블로그 메뉴

    • 방명록
    • 그림블로그
    • 3D 블로그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    js #자바스크립트_기초
    HTML5+CSS3+Javascript 웹 프로그래밍 #연습문제 #이론문제 #실습문제 #풀이 #정답
    우분투java
    프로그래밍언어론
    0x80370102오류코드
    윈도우 기능 켜기
    우분투 설치 오류
    가상현실 설정
    the package javax.swing is not accessible
    복습
    작업표시줄클릭안됨
    우분투C
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
피까츄
자바스크립트 Chapter 6. 다중반복문
상단으로

티스토리툴바