[백준 10995] 별 찍기 - 20 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
입력으로 주어지는 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;
}