[BAEKJOON] 반복문 2438번 - 별 찍기 (1)

밍챠코·2024년 3월 27일
0

BAEKJOON

목록 보기
27/38

📝[2438]

[Java]

1. Scanner 이용

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int N = sc.nextInt();
        
        for(int i=1; i<=N; i++){
            for(int j=1; j<=i; j++){
                System.out.print("*");
            }
            System.out.print("\n");
        }
        
        sc.close();
    }
}

2. BufferedReader 이용

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int N = Integer.parseInt(br.readLine());
        
        for(int i=1; i<=N; i++){
            for(int j=1; j<=i; j++){
                System.out.print("*");
            }
            System.out.print("\n");
        }
        
        br.close();
    }
}

3. BufferedReader/StringBuilder 이용

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int N = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        
        for(int i=1; i<=N; i++){
            for(int j=1; j<=i; j++){
                sb.append("*");
            }
            sb.append("\n");
        }
        System.out.print(sb);
        
        br.close();
    }
}

4. BufferedReader/BufferedWriter 이용

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        int N = Integer.parseInt(br.readLine());
        
        for(int i=1; i<=N; i++){
            for(int j=1; j<=i; j++){
                bw.write("*");
            }
            bw.write("\n");
        }
        br.close();
        
        bw.flush();
        bw.close();
    }
}

[Javascript]

1. 중첩 for문 사용

const N = Number(require('fs').readFileSync('/dev/stdin').toString().trim());

let str = "";
for(let i=1; i<=N; i++){
    for(let j=1; j<=i; j++){
        str += "*";
    }
    str += "\n";
}

console.log(str);

2. 단일 for문 사용

const N = Number(require('fs').readFileSync('/dev/stdin').toString().trim());

let str = "";
for(let i=1; i<=N; i++){
    str += "*";
    console.log(str);
}

3. repeat() 함수 사용

const N = Number(require('fs').readFileSync('/dev/stdin').toString().trim());

for(let i=1; i<=N; i++){
    console.log("*".repeat(i));
}

※ 속도 비교
중첩 for문(116ms) < repeat() 함수(136ms) < 단일 for문 단독(172ms)


[Python]

1. 이중 for문 사용

N = int(input())

for i in range(1, N+1):
    for j in range(1, i+1):
        print("*", end = "")
    print() #print("\n", end = "")

2. 문자열 곱하기 연산 사용

N = int(input())

for i in range(1, N+1):
    print("*" * i)

0개의 댓글