[백준 6916] 0123456789 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
간단한 구현 문제이지만, 문제의 설명이 다소 불친절 합니다.
우선, 문제의 목표는 *
3개로 이루어진 segment
로 0
부터 9
까지의 숫자를 출력하는 것입니다.
하지만 문제의 예시와 다르게, 각 숫자의 마지막 부분에 (공백)
이 있어서는 안되며, *
하나로 이루어진 라인 또한 뒷부분에 공백이 있어서는 안됩니다.
따라서, 예시의 숫자들을 그대로 사용해서는 안되며, 위의 경우에 해당하는 부분에 대하여 뒷부분 공백을 모두 삭제해주어야 합니다.
또한, 1
과 4
의 경우에 첫 번째 라인에 *
을 출력하지 않더라도, 필수적으로 개행 문자를 추가시켜주어야 합니다.
위 조건들을 지키지 않는다면 출력 형식이 잘못되었습니다
의 결과를 받게 됩니다.
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
29
namespace Solution {
class Program {
static List<string> SegmentNum(int n) {
string[][] nums = {
new[] {" * * *", "* *", "* *", "* *", "", "* *", "* *", "* *", " * * *"}, // 0
new[] {"", " *", " *", " *", "", " *", " *", " *"}, // 1
new[] {" * * *", " *", " *", " *", " * * *", "*", "*", "*", " * * *"}, // 2
new[] {" * * *", " *", " *", " *", " * * *", " *", " *", " *", " * * *"}, // 3
new[] {"", "* *", "* *", "* *", " * * *", " *", " *", " *"}, // 4
new[] {" * * *", "*", "*", "*", " * * *", " *", " *", " *", " * * *"}, // 5
new[] {" * * *", "*", "*", "*", " * * *", "* *", "* *", "* *", " * * *"}, // 6
new[] {" * * *", " *", " *", " *", "", " *", " *", " *"}, // 7
new[] {" * * *", "* *", "* *", "* *", " * * *", "* *", "* *", "* *", " * * *"}, // 8
new[] {" * * *", "* *", "* *", "* *", " * * *", " *", " *", " *", " * * *"} // 9
};
return new List<string>(nums[n]);
}
static void Main(string[] args) {
var n = int.Parse(Console.ReadLine()!);
List<string> segNum = SegmentNum(n);
foreach (var line in segNum)
Console.WriteLine(line);
}
}
}
[ 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
32
33
34
35
#include <bits/stdc++.h>
using namespace std;
typedef vector<string> vs;
vs segmentNum(int n) {
vector<vs> nums = {
{" * * *", "* *", "* *", "* *", "", "* *", "* *", "* *", " * * *"}, // 0
{"", " *", " *", " *", "", " *", " *", " *"}, // 1
{" * * *", " *", " *", " *", " * * *", "*", "*", "*", " * * *"}, // 2
{" * * *", " *", " *", " *", " * * *", " *", " *", " *", " * * *"}, // 3
{"", "* *", "* *", "* *", " * * *", " *", " *", " *"}, // 4
{" * * *", "*", "*", "*", " * * *", " *", " *", " *", " * * *"}, // 5
{" * * *", "*", "*", "*", " * * *", "* *", "* *", "* *", " * * *"}, // 6
{" * * *", " *", " *", " *", "", " *", " *", " *"}, // 7
{" * * *", "* *", "* *", "* *", " * * *", "* *", "* *", "* *", " * * *"}, // 8
{" * * *", "* *", "* *", "* *", " * * *", " *", " *", " *", " * * *"} // 9
};
return nums[n];
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n; cin >> n;
vs segNum = segmentNum(n);
for (const string& line : segNum)
cout << line << "\n";
return 0;
}