1
1
mirror of https://github.com/theoludwig/programming-challenges.git synced 2024-12-08 00:45:29 +01:00

feat(challenges): add ascii-art

This commit is contained in:
Divlo 2022-05-01 20:07:35 +02:00
parent 173c32d6f2
commit 19d3d407ca
No known key found for this signature in database
GPG Key ID: 8F9478F220CE65E9
17 changed files with 150 additions and 4 deletions

View File

@ -14,6 +14,6 @@ insert_final_newline = true
indent_size = 4
[*.txt]
indent_size = 1
trim_trailing_whitespace = false
insert_final_newline = false
indent_size = unset
trim_trailing_whitespace = unset
insert_final_newline = unset

View File

@ -0,0 +1,56 @@
# ascii-art
Created by [@Divlo](https://github.com/Divlo) on 1 May 2022.
## Instructions
### Goal
In stations and airports you often see this type of screen:
![Led Display](./led_display.jpg)
Have you ever asked yourself how it might be possible to simulate this display on a good old terminal? We have: with ASCII art!
### Rules
ASCII art allows you to represent forms by using characters. To be precise, in our case, these forms are words. For example, the word "MANHATTAN" could be displayed as follows in ASCII art:
```txt
# # # ### # # # ### ### # ###
### # # # # # # # # # # # # # #
### ### # # ### ### # # ### # #
# # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # #
```
Your mission is to write a program that can display a line of text in ASCII art in a style you are given as input.
### Input
- **Line 1:** The width `W` of a letter represented in ASCII art. All letters are the same width.
- **Line 2:** The height `H` of a letter represented in ASCII art. All letters are the same height.
- **Line 3:** The line of text `T`, composed of `N` ASCII characters.
- **Following lines:** the string of characters `ABCDEFGHIJKLMNOPQRSTUVWXYZ?` Represented in ASCII art.
### Output
The text `T` in ASCII art.
The characters a to z are shown in ASCII art by their equivalent in upper case.
The characters that are not in the intervals `[a-z]` or `[A-Z]` will be shown as a question mark in ASCII art.
### Constraints
- 0 < W < 30
- 0 < H < 30
- 0 < N < 200
## Source
- [CodinGame](https://www.codingame.com/training/easy/ascii-art)
## Examples
See the `test` folder for examples of input/output.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

View File

@ -0,0 +1,8 @@
4
5
E
# ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
# # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
# # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #

View File

@ -0,0 +1,5 @@
###
#
##
#
###

View File

@ -0,0 +1,8 @@
4
5
MANHATTAN
# ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
# # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
# # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #

View File

@ -0,0 +1,5 @@
# # # ### # # # ### ### # ###
### # # # # # # # # # # # # # #
### ### # # ### ### # # ### # #
# # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # #

View File

@ -0,0 +1,8 @@
4
5
ManhAtTan
# ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
# # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
# # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #

View File

@ -0,0 +1,5 @@
# # # ### # # # ### ### # ###
### # # # # # # # # # # # # # #
### ### # # ### ### # # ### # #
# # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # #

View File

@ -0,0 +1,8 @@
4
5
M@NH@TT@N
# ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
# # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
# # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #

View File

@ -0,0 +1,5 @@
# # ### ### # # ### ### ### ### ###
### # # # # # # # # # # #
### ## # # ### ## # # ## # #
# # # # # # # # # #
# # # # # # # # # # # # #

View File

@ -0,0 +1,14 @@
21
11
MANHATTAN
.----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .-----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .----------------.
| .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. |
| | __ | | | | ______ | | | | ______ | | | | ________ | | | | _________ | | | | _________ | | | | ______ | | | | ____ ____ | | | | _____ | | | | _____ | | | | ___ ____ | | | | _____ | | | | ____ ____ | | | | ____ _____ | | | | ____ | | | | ______ | | | | ___ | | | | _______ | | | | _______ | | | | _________ | | | | _____ _____ | | | | ____ ____ | | | | _____ _____ | | | | ____ ____ | | | | ____ ____ | | | | ________ | | | | ______ | |
| | / \ | | | | |_ _ \ | | | | .' ___ | | | | | |_ ___ `. | | | | |_ ___ | | | | | |_ ___ | | | | | .' ___ | | | | | |_ || _| | | | | |_ _| | | | | |_ _| | | | | |_ ||_ _| | | | | |_ _| | | | ||_ \ / _|| | | ||_ \|_ _| | | | | .' `. | | | | |_ __ \ | | | | .' '. | | | | |_ __ \ | | | | / ___ | | | | | | _ _ | | | | ||_ _||_ _|| | | ||_ _| |_ _| | | | ||_ _||_ _|| | | | |_ _||_ _| | | | | |_ _||_ _| | | | | | __ _| | | | | / _ __ `. | |
| | / /\ \ | | | | | |_) | | | | | / .' \_| | | | | | | `. \ | | | | | |_ \_| | | | | | |_ \_| | | | | / .' \_| | | | | | |__| | | | | | | | | | | | | | | | | | | |_/ / | | | | | | | | | | | \/ | | | | | | \ | | | | | | / .--. \ | | | | | |__) | | | | | / .-. \ | | | | | |__) | | | | | | (__ \_| | | | | |_/ | | \_| | | | | | | | | | | | | \ \ / / | | | | | | /\ | | | | | | \ \ / / | | | | \ \ / / | | | | |_/ / / | | | | |_/____) | | |
| | / ____ \ | | | | | __'. | | | | | | | | | | | | | | | | | | | _| _ | | | | | _| | | | | | | ____ | | | | | __ | | | | | | | | | | | _ | | | | | | | __'. | | | | | | _ | | | | | |\ /| | | | | | | |\ \| | | | | | | | | | | | | | | ___/ | | | | | | | | | | | | | __ / | | | | '.___`-. | | | | | | | | | | | ' ' | | | | | \ \ / / | | | | | |/ \| | | | | | > `' < | | | | \ \/ / | | | | .'.' _ | | | | / ___.' | |
| | _/ / \ \_ | | | | _| |__) | | | | | \ `.___.'\ | | | | _| |___.' / | | | | _| |___/ | | | | | _| |_ | | | | \ `.___] _| | | | | _| | | |_ | | | | _| |_ | | | | | |_' | | | | | _| | \ \_ | | | | _| |__/ | | | | | _| |_\/_| |_ | | | | _| |_\ |_ | | | | \ `--' / | | | | _| |_ | | | | \ `-' \_ | | | | _| | \ \_ | | | | |`\____) | | | | | _| |_ | | | | \ `--' / | | | | \ ' / | | | | | /\ | | | | | _/ /'`\ \_ | | | | _| |_ | | | | _/ /__/ | | | | | |_| | |
| ||____| |____|| | | | |_______/ | | | | `._____.' | | | | |________.' | | | | |_________| | | | | |_____| | | | | `._____.' | | | | |____||____| | | | | |_____| | | | | `.___.' | | | | |____||____| | | | | |________| | | | ||_____||_____|| | | ||_____|\____| | | | | `.____.' | | | | |_____| | | | | `.___.\__| | | | | |____| |___| | | | | |_______.' | | | | |_____| | | | | `.__.' | | | | \_/ | | | | |__/ \__| | | | | |____||____| | | | | |______| | | | | |________| | | | | (_) | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' |
'----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------'

View File

@ -0,0 +1,11 @@
.----------------. .----------------. .-----------------. .----------------. .----------------. .----------------. .----------------. .----------------. .-----------------.
| .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. | | .--------------. |
| | ____ ____ | | | | __ | | | | ____ _____ | | | | ____ ____ | | | | __ | | | | _________ | | | | _________ | | | | __ | | | | ____ _____ | |
| ||_ \ / _|| | | | / \ | | | ||_ \|_ _| | | | | |_ || _| | | | | / \ | | | | | _ _ | | | | | | _ _ | | | | | / \ | | | ||_ \|_ _| | |
| | | \/ | | | | | / /\ \ | | | | | \ | | | | | | | |__| | | | | | / /\ \ | | | | |_/ | | \_| | | | | |_/ | | \_| | | | | / /\ \ | | | | | \ | | | |
| | | |\ /| | | | | | / ____ \ | | | | | |\ \| | | | | | | __ | | | | | / ____ \ | | | | | | | | | | | | | | | | / ____ \ | | | | | |\ \| | | |
| | _| |_\/_| |_ | | | | _/ / \ \_ | | | | _| |_\ |_ | | | | _| | | |_ | | | | _/ / \ \_ | | | | _| |_ | | | | _| |_ | | | | _/ / \ \_ | | | | _| |_\ |_ | |
| ||_____||_____|| | | ||____| |____|| | | ||_____|\____| | | | | |____||____| | | | ||____| |____|| | | | |_____| | | | | |_____| | | | ||____| |____|| | | ||_____|\____| | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' | | '--------------' |
'----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' '----------------'

View File

@ -0,0 +1,8 @@
4
5
MAN HAT TAN
# ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
# # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
# # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #

View File

@ -0,0 +1,5 @@
# # # ### ### # # # ### ### ### # ###
### # # # # # # # # # # # # # # # #
### ### # # ## ### ### # ## # ### # #
# # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # #

View File

@ -52,7 +52,7 @@ The name of the defibrillator located the closest to the users position.
## Source
- [CodinGame](https://www.codingame.com/ide/puzzle/defibrillators)
- [CodinGame](https://www.codingame.com/training/easy/defibrillators)
## Examples