작성일 :

문제 링크

26495번 - Big Number

설명

문제에 주어진 형식대로 숫자를 출력하는 구현 문제입니다.

출력해야 하는 숫자의 범위는 0 부터 9 까지 이며,

각 숫자의 출력 형식과 조건은 문제에 주어져 있습니다.

따라서, 입력으로 주어진 숫자들을 차례대로 조건에 맞게 변환하여 출력합니다.


다만, 주의해야 할 점은 문제에서 주어지는 형식을 그대로 복사하여 사용하면 안된다는 것입니다.

예를들어, 숫자 5 의 경우 문제의 설명에는 다음과 같이 출력 형식이 주어져있습니다.

1
2
3
4
5
"5555"
"5   "
"5555"
"   5"
"5555"


하지만, 예제 출력을 참고해보시면, 다음과 같이 숫자 뒤 공백 이 없어야 합니다.

1
2
3
4
5
"5555"
"5"
"5555"
"   5"
"5555"

만약, 주어진 형식을 그대로 복사하여 사용할 경우 “출력 형식이 잘못되었습니다” 결과를 받게 되므로,

각 숫자들에 대하여 숫자 뒤 공백 이 있는 경우가 없도록 주의해야 합니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var numBlock = new[] {
        new[] {"0000", "0  0", "0  0", "0  0", "0000"},
        new[] {"   1", "   1", "   1", "   1", "   1"},
        new[] {"2222", "   2", "2222", "2"   , "2222"},
        new[] {"3333", "   3", "3333", "   3", "3333"},
        new[] {"4  4", "4  4", "4444", "   4", "   4"},
        new[] {"5555", "5"   , "5555", "   5", "5555"},
        new[] {"6666", "6"   , "6666", "6  6", "6666"},
        new[] {"7777", "   7", "   7", "   7", "   7"},
        new[] {"8888", "8  8", "8888", "8  8", "8888"},
        new[] {"9999", "9  9", "9999", "   9", "   9"},
      };

      var numStr = Console.ReadLine();

      for (var i = 0; i < numStr!.Length; i++) {
        for (var j = 0; j < 5; j++)
          Console.WriteLine(numBlock[numStr[i] - '0'][j]);
        if (i != numStr.Length - 1) Console.WriteLine();
      }

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <bits/stdc++.h>

using namespace std;

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

  vector<string> numBlock[10] = {
    {"0000", "0  0", "0  0", "0  0", "0000"},
    {"   1", "   1", "   1", "   1", "   1"},
    {"2222", "   2", "2222", "2"   , "2222"},
    {"3333", "   3", "3333", "   3", "3333"},
    {"4  4", "4  4", "4444", "   4", "   4"},
    {"5555", "5"   , "5555", "   5", "5555"},
    {"6666", "6"   , "6666", "6  6", "6666"},
    {"7777", "   7", "   7", "   7", "   7"},
    {"8888", "8  8", "8888", "8  8", "8888"},
    {"9999", "9  9", "9999", "   9", "   9"},
  };

  string numStr; cin >> numStr;

  for (size_t i = 0; i < numStr.length(); i++) {
    for (int j = 0; j < 5; j++)
      cout << numBlock[numStr[i] - '0'][j] << "\n";
    if (i != numStr.length() - 1) cout << "\n";
  }

  return 0;
}