※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 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

+ Recent posts