※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 6916번 문제인 0123456789이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/6916
6916번: 0123456789
_ _ _ _ _ _ _ _ | | | _| _| |_| |_ |_ | |_| |_| |_| | |_ _| | _| |_| | |_| _| Most digital devices show numbers using a seven segment display. The seven segments are arranged as shown: * * * * * * * * * * * * * * * * * * * * * For this problem, each segmen
www.acmicpc.net
7-segment display의 표기대로 0부터 9까지의 각 한자리수에 대한 출력을 준비해 문제를 해결하자.
출력할 때의 유의사항으로 각 줄의 끝에 불필요한 공백을 출력하지 말아야 하고 각 줄은 개행으로 끝나야 함에 유의하자.
특히, 7-segment display의 마지막 가로줄이 없을 경우에도 빈 행을 출력해야 한다.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
using namespace std;
int N;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
if (N == 0 || N == 2 || N == 3 || N == 5 || N == 6 || N == 7 || N == 8 || N == 9) {
cout << " * * *";
}
cout << '\n';
for (int i = 0; i < 3; i++) {
if (N == 0 || N == 4 || N == 8 || N == 9) cout << "* *";
else if (N == 5 || N == 6) cout << "*";
else cout << " *";
cout << '\n';
}
if (N == 2 || N == 3 || N == 4 || N == 5 || N == 6 || N == 8 || N == 9) cout << " * * *";
cout << '\n';
for (int i = 0; i < 3; i++) {
if (N == 0 || N == 6 || N == 8) cout << "* *";
else if (N == 1 || N == 3 || N == 4 || N == 5 || N == 7 || N == 9) cout << " *";
else cout << "*";
cout << '\n';
}
if (N == 0 || N == 2 || N == 3 || N == 5 || N == 6 || N == 8 || N == 9) cout << " * * *";
cout << '\n';
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 6888 // C++] Terms of Office (0) | 2022.12.20 |
---|---|
[BOJ 2380 // Befunge] Star (0) | 2022.12.20 |
[BOJ 26578 // C++] Word (0) | 2022.12.20 |
[BOJ 10188 // C++] Quadrilateral (0) | 2022.12.20 |
[BOJ 26529 // C++] Bunnies (0) | 2022.12.19 |