본문 바로가기

알고리즘/백준

[백준] 2444 - 별 찍기(7) (JAVA/ 자바)

반응형

2444번 문제

 

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=i; j<N; j++){
            System.out.print(" ");
        }
        for(int k=1; k<=(2*i-1); k++){
            System.out.print("*");
        }
        System.out.println();
    }
    for(int i=1; i<N; i++){
        for(int j=1; j<=i; j++){
            System.out.print(" ");
        }
        for(int k=(2*i-1); k<=(2*N-3); k++){
            System.out.print("*");
        }
        System.out.println();
    }
    sc.close();
    }
}

 

2. BufferedReader를 이용한 방법

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
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=i; j<N; j++){
            bw.write(" ");
        }
        for(int k=1; k<=(2*i-1); k++){
            bw.write("*");
        }
        bw.write("\n");
    }
    for(int i=1; i<N; i++){
        for(int j=1; j<=i; j++){
            bw.write(" ");
        }
        for(int k=(2*i-1); k<=(2*N-3); k++){
            bw.write("*");
        }
        bw.write("\n");
    }
    br.close();
    bw.flush();
    bw.close();
    }
}

이전에 풀었던 별 찍기(2)를 응용해서 풀면서 아랫단의 *이 줄어드는 부분 용으로 for문을 하나 더 만들어야한다,

반응형