Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const L = parseInt(readline());
- const H = parseInt(readline());
- const T = readline();
- let output = "";
- for (let i = 0; i < H; i++) {
- const ROW = readline();
- // Parcours des caractères du texte à afficher
- for (let j = 0; j < T.length; j++) {
- const letter = T.charAt(j);
- // Détermination de la plage de caractères correspondant à la lettre
- const alphaBeginning = letter.toUpperCase() === letter ? 'A' : 'a';
- const alphaEnding = letter.toUpperCase() === letter ? 'Z' : 'z';
- let start = 0;
- if (letter < alphaBeginning || letter > alphaEnding) {
- start = ((alphaEnding.charCodeAt(0) - alphaBeginning.charCodeAt(0)) + 1) * L;
- } else {
- start = (letter.charCodeAt(0) - alphaBeginning.charCodeAt(0)) * L;
- }
- output += ROW.substring(start, start + L);
- }
- output += '\n';
- }
- console.log(output);
- /**
- * Objectif
- * Dans les gares et aéroports on croise souvent ce type d'écran :
- *
- * Vous êtes-vous demandé comment il serait possible de simuler cet affichage dans un bon vieux terminal ? Nous oui : avec l'art ASCII !
- *
- * Règles
- * L'art ASCII permet de représenter des formes en utilisant des caractères. Dans notre cas, ces formes sont précisément des mots. Par exemple, le mot "MANHATTAN" pourra être affiché ainsi en art ASCII :
- *
- * # # # ### # # # ### ### # ###
- * ### # # # # # # # # # # # # # #
- * ### ### # # ### ### # # ### # #
- * # # # # # # # # # # # # # # # #
- * # # # # # # # # # # # # # # # #
- *
- * Votre mission : Écrire un programme capable d'afficher une ligne de texte en art ASCII dans un style qui vous est fourni en entrée.
- *
- * Entrées du jeu
- * Entrée
- * Ligne 1 : la largeur L d'une lettre représentée en art ASCII. Toutes les lettres font la même largeur.
- *
- * Ligne 2 : la hauteur H d'une lettre représentée en art ASCII. Toutes les lettres font la même hauteur.
- *
- * Ligne 3 : La ligne de texte T, composée de N caractères ASCII
- *
- * Lignes suivantes : La chaîne de caractères ABCDEFGHIJKLMNOPQRSTUVWXYZ? représentée en art ASCII.
- *
- * Sortie
- * Le texte T en art ASCII.
- * Les caractères de a à z seront affichés en art ASCII par leur équivalent en majuscule.
- * Les caractères qui ne sont pas dans les intervales [a-z] ou [A-Z], seront affichés par le point d'interrogation en art ASCII.
- *
- * Contraintes
- * 0 < L < 30
- * 0 < H < 30
- * 0 < N < 200
- *
- * Exemple 1
- * Entrée
- * 4
- * 5
- * E
- * # ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
- * # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
- * ### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
- * # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
- * # # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
- *
- * Sortie
- * ###
- *
- * #
- *
- * ##
- *
- * #
- *
- * ###
- *
- * Exemple 2
- * Entrée
- * 4
- * 5
- * MANHATTAN
- * # ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
- * # # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
- * ### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
- * # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
- * # # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
- *
- * Sortie
- * # # # ### # # # ### ### # ###
- * ### # # # # # # # # # # # # # #
- * ### ### # # ### ### # # ### # #
- * # # # # # # # # # # # # # # # #
- * # # # # # # # # # # # # # # # #
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement