실습1 - 마지막 단계 10996

김지훈·2020년 7월 31일
0

백준-10996 별 찍기 - 21

문제

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

입력

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

출력

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


코드

import java.util.*;

public class Main {
    public static void main(String[] args) {
        int N;
        Scanner scan = new Scanner(System.in);
        N = scan.nextInt();
        char[] star = new char[N];
        for (int i = 0; i < N; i += 2) {
            star[i] = '*';
        }
        for (int i = 1; i < N; i += 2) {
            star[i] = ' ';
        }
        String low1 = String.valueOf(star);
        for (int i = 0; i < N - 1; i++) {
            star[i] = star[i + 1];
        }
        if (N % 2 == 1) {
            star[N - 1] = ' ';
        } else {
            star[N - 1] = '*';
        }
        String low2 = String.valueOf(star);
        for (int i = 0; i < N; i++) {
            System.out.println(low1 + "\n" + low2);
        }
    }
}

예제를 보고 코드를 어떻게 짜야되나 고민이 많이 되었다.
먼저, 문자형 배열 star를 만들어서 N에 맞는 별과 공백을 넣어주고, (low1 : 첫째 줄)
star의 첫 인덱스에 공백을 넣어준 뒤 문자열을 오른쪽으로 밀어주었다. (low2 : 둘째 줄)
그리고 N에 맞게 루프를 돌려, 번갈아가면서 출력해주었다!!

더 좋은 방법이나 궁금한 점 있으면 댓글 부탁드립니다!

0개의 댓글