Tech Collection

[10992] 별 찍기-17 : Java 본문

카테고리 없음

[10992] 별 찍기-17 : Java

eee_269 2021. 4. 14. 02:31
728x90
반응형

 

 

10992번: 별 찍기 - 17

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

www.acmicpc.net

 

문제 해석

1. 입력 수가 1 or 2 일 때

: 삼각형을 만들기위해 공백을 넣지 않아도 된다.

: 케이스 따로 만들기

2. 입력 수가 3 이상일 때

: 공백

  - 전체 줄의 수 - 현재 줄의 수

: 별

  - 첫번째 줄: 1개

  - 두번째 줄 ~ 마지막 전 줄: 2개

  - 마지막 줄: 2n-1

: 별 안쪽 공백

  - 홀수로 늘어남

  - 두번째 줄: 1개

  - 세번째 줄: 3개

 

Java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);


        int n = sc.nextInt();

        if(n == 1) {
            System.out.println('*');
        } else if (n == 2) {
            System.out.println(" *");
            System.out.println("***");
        } else {
            for(int i=1; i<=n; i++) {
                String s = "";

                if(i == n) {
                    s = new String(new char[2*n-1]).replace('\u0000', '*');
                } else {
                    s = new String(new char[n - i]).replace('\u0000', ' ');
                    if (i == 1) {
                        s += "*";
                    } else {
                        s += "*";
                        s += new String(new char[2*(i-1)-1]).replace('\u0000', ' ');
                        s += "*";
                    }
                }
                System.out.println(s);
            }
        }
    }
}

 

728x90
반응형