본문 바로가기
백준

[백준] 2442번 : 별 찍기 - 5 – JAVA [자바]

by Hongwoo 2022. 4. 20.
반응형

https://www.acmicpc.net/problem/2442

 


  • 문제

 

 


  • 문제 풀이

백준 2442번 별 찍기 - 5는 브론즈 3 난이도의 구현 문제이다. 그리고 이 문제는 보통 코딩을 처음 시작할 때 많이 하는 별 찍기 문제이다. 개인적인 생각이지만 이런 유형의 문제들은 코딩의 기본기를 다지는데 되게 좋은 거 같다.

 

우선 이 문제에서는 n이 주어진다. 그리고 첫째 줄부터 n번째 줄까지 별들을 1, 3, 5,... 개씩 출력하면 된다. 그리고 이 별들은 위에 있는 사진처럼 가운데를 기준으로 대칭되어야 한다.

 

우선 이 문제에서 주어진 예제를 한번 보겠다. 예제로 n = 5가 주어졌다. n = 5이니 5줄을 출력해야 하고 1, 3, 5, 7, 9개씩 출력하면 된다.

 

이 문제는 for-loop을 이용해서 푼다. for-loop을 i = 1부터 n, 즉 5까지 돌린다. 우선 스페이스들을 출력해야 하니 n - i개의 space를 출력한다. 그리고 2 × i - 1개의 별을 출력햊면 된다.

 

이렇게 하면 n = 5일 때, 다음처럼 출력된다.

 

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

 


  • 코드

 

import java.io.*;
import java.util.*;
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 <= n-i; j++) {
                sb.append(" ");
            }
            for (int j = 1; j <= 2*i-1; j++) {
                sb.append("*");
            }
            sb.append("\n");
        }
        System.out.print(sb);
    }
}

 


  • 후기

코딩 기본기를 다지는데 되게 좋은 문제라고 생각한다. 

 

반응형

댓글