[알고리즘 문제 풀기] 별 찍기 - 19(10994)

C#
lhs's avatar
Jan 21, 2025
[알고리즘 문제 풀기] 별 찍기 - 19(10994)
notion image

1. 문제 풀이 아이디어

  • 별 모양의 테두리를 출력하기 위해 2차원 배열을 사용하여 문제를 해결한다.

2. 나의 정답 코드

StreamReader reader = new StreamReader(Console.OpenStandardInput()); StreamWriter writer = new StreamWriter(Console.OpenStandardOutput()); int n = int.Parse(reader.ReadLine()); int size = 4 * (n - 1) + 1; char[,] arr = new char[size, size]; for (int i = 0; i < n; i++) { int s = i * 2; int e = size - s; for (int j = s; j < e; j++) { arr[s, j] = '*'; arr[e - 1, j] = '*'; arr[j, s] = '*'; arr[j, e - 1] = '*'; } } for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { writer.Write(arr[i, j] == '\0' ? ' ' : '*'); } writer.WriteLine(); } writer.Close(); reader.Close();

3. 정리

  • 입력값 n에 따라 배열 크기를 4 * (n - 1) + 1로 계산한다.
  • 이중 반복문을 사용하여 각 단계마다 테두리를 별로 채운다.
  • 배열의 나머지 부분은 공백으로 출력하여 원하는 패턴을 완성한다.
Share article

LHS's Study Space