작성일 :

문제 링크

10995번 - 별 찍기 - 20

설명

입력으로 주어지는 N개의 줄에 대해 특정한 규칙의 별 패턴을 출력하는 문제입니다.

출력은 아래와 같은 형식을 따릅니다:

  • 각 줄마다 *과 공백이 번갈아가며 반복되고,
  • 짝수 번째 줄에는 맨 앞에 공백이 한 칸 삽입되어 출력이 한 칸 오른쪽으로 밀립니다.
  • 별의 개수는 홀수 줄과 짝수 줄 모두 동일하게 N개가 되도록 구성되어야 합니다.

접근법

  • N개의 줄을 출력해야 하므로 i = 0부터 i < N까지 반복합니다.
  • 각 줄에서:
    • i가 홀수일 경우, 줄의 맨 앞에 " " 공백을 하나 출력합니다.
    • 그런 다음, N개의 별을 "* " 패턴으로 출력합니다.
      이 때, 마지막에는 "*"만 출력하여 개행 시 불필요한 공백이 붙지 않도록 합니다.

조건문과 중첩 반복문을 활용하여 쉽게 구현할 수 있습니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;

namespace Solution {
  class Program {
    static void Main(string[] args) {
      int n = int.Parse(Console.ReadLine()!);
      for (int i = 0; i < n; i++) {
        if (i % 2 == 1)
          Console.Write(" ");
        for (int j = 0; j < n - 1; j++)
          Console.Write("* ");
        Console.WriteLine("*");
      }
    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

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

  return 0;
}