[백준/BOJ] 2442번_별 찍기 - 5 (C++/Java)

JIMIN·2023년 1월 26일

BOJ_Bronze

목록 보기
19/75

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

문제


첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제

별은 가운데를 기준으로 대칭이어야 한다.


입력


첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.


출력


첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.



💻 예제 입력

5

💻 예제 출력

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

풀이


n = 5일 때, 1번째 줄은 별 1개, 2번째 줄은 별 3개, 3번째 줄은 별 5개, 4번째 줄은 별 7개, 5번째 줄은 별 9개이므로 임의의 정수 k번째 줄의 별 개수는 2k - 1개가 됨.

빈칸은 n-1개부터 하나씩 줄여나가면서 출력하고 마지막에 별을 출력함.


C++ 소스코드


#include <iostream>
using namespace std;

int main(void)
{
    int n;
    cin >> n;
    
    for (int i = 1; i <= n; i++)
    {
        for (int j = 0; j < n-i; j++)
            cout << " ";
        for (int k = 0; k < i*2-1; k++)
            cout << "*";
        cout << "\n";
    }
}

Java 소스코드


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 = 0; j < n-i; j++)
                System.out.print(" ");
            for (int k = 0; k < i*2-1; k++)
                System.out.print("*");

            System.out.println();
        }
    }
}
profile
잘못된 코드나 정보가 있다면 알려주세요! 👋🏻

0개의 댓글