Advertisement
MonsterScripter

CodinGame_2023_09_02__15_46_17__ascii_art.java

Sep 2nd, 2023
918
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.96 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. class Solution {
  4.  
  5.     public static void main(String args[]) {
  6.         final Scanner in = new Scanner(System.in);
  7.         final int L = in.nextInt();
  8.         final int H = in.nextInt();
  9.         if (in.hasNextLine()) {
  10.             in.nextLine();
  11.         }
  12.         String T = in.nextLine();
  13.         T = T.toUpperCase();
  14.         for (int i = 0; i < H; i++) {
  15.             final String ROW = in.nextLine();
  16.             char letter;
  17.             for (int j = 0; j < T.length(); j++) {
  18.                 letter = T.charAt(j);
  19.                 final char alphaBeginning = Character.isUpperCase(letter) ? 'A' : 'a';
  20.                 final char alphaEnding = Character.isUpperCase(letter) ? 'Z' : 'z';
  21.                 int start = 0;
  22.                 if (letter < alphaBeginning || letter > alphaEnding) {
  23.                     start = ((alphaEnding - alphaBeginning) + 1) * L;
  24.                 } else {
  25.                     start = (letter - alphaBeginning) * L;
  26.                 }
  27.                 System.out.print(ROW.substring(start, start+L));
  28.             }
  29.             System.out.println();
  30.         }
  31.  
  32.     }
  33. }
  34.  
  35. /*
  36.  
  37.     Objectif
  38. Dans les gares et aéroports on croise souvent ce type d'écran :
  39.  
  40. Vous êtes-vous demandé comment il serait possible de simuler cet affichage dans un bon vieux terminal ? Nous oui : avec l'art ASCII !
  41.     Règles
  42. 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 :
  43.  
  44.  
  45. # #  #  ### # #  #  ### ###  #  ###
  46. ### # # # # # # # #  #   #  # # # #
  47. ### ### # # ### ###  #   #  ### # #
  48. # # # # # # # # # #  #   #  # # # #
  49. # # # # # # # # # #  #   #  # # # #
  50.  
  51. ​Votre mission : Ecrire un programme capable d'afficher une ligne de texte en art ASCII dans un style qui vous est fourni en entrée.
  52.  
  53.     Entrées du jeu
  54. Entrée
  55. Ligne 1 : la largeur L d'une lettre représentée en art ASCII. Toutes les lettres font la même largeur.
  56.  
  57. Ligne 2 : la hauteur H d'une lettre représentée en art ASCII. Toutes les lettres font la même hauteur.
  58.  
  59. Ligne 3 : La ligne de texte T, composée de N caractères ASCII
  60.  
  61. Lignes suivantes : La chaîne de caractères ABCDEFGHIJKLMNOPQRSTUVWXYZ? représentée en art ASCII.
  62.  
  63. Sortie
  64. Le texte T en art ASCII.
  65. Les caractères de a à z seront affichés en art ASCII par leur équivalent en majuscule.
  66. 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.
  67. Contraintes
  68. 0 < L < 30
  69. 0 < H < 30
  70. 0 < N < 200
  71. Exemple 1
  72. Entrée
  73. 4
  74. 5
  75. E
  76.  #  ##   ## ##  ### ###  ## # # ###  ## # # #   # # ###  #  ##   #  ##   ## ### # # # # # # # # # # ### ###
  77. # # # # #   # # #   #   #   # #  #    # # # #   ### # # # # # # # # # # #    #  # # # # # # # # # #   #   #
  78. ### ##  #   # # ##  ##  # # ###  #    # ##  #   ### # # # # ##  # # ##   #   #  # # # # ###  #   #   #   ##
  79. # # # # #   # # #   #   # # # #  #  # # # # #   # # # # # # #    ## # #   #  #  # # # # ### # #  #  #      
  80. # # ##   ## ##  ### #    ## # # ###  #  # # ### # # # #  #  #     # # # ##   #  ###  #  # # # #  #  ###  #  
  81. Sortie
  82. ###
  83. #  
  84. ##  
  85. #  
  86. ###
  87. Exemple 2
  88. Entrée
  89. 4
  90. 5
  91. MANHATTAN
  92.  #  ##   ## ##  ### ###  ## # # ###  ## # # #   # # ###  #  ##   #  ##   ## ### # # # # # # # # # # ### ###
  93. # # # # #   # # #   #   #   # #  #    # # # #   ### # # # # # # # # # # #    #  # # # # # # # # # #   #   #
  94. ### ##  #   # # ##  ##  # # ###  #    # ##  #   ### # # # # ##  # # ##   #   #  # # # # ###  #   #   #   ##
  95. # # # # #   # # #   #   # # # #  #  # # # # #   # # # # # # #    ## # #   #  #  # # # # ### # #  #  #      
  96. # # ##   ## ##  ### #    ## # # ###  #  # # ### # # # #  #  #     # # # ##   #  ###  #  # # # #  #  ###  #  
  97. Sortie
  98. # #  #  ### # #  #  ### ###  #  ###  
  99. ### # # # # # # # #  #   #  # # # #  
  100. ### ### # # ### ###  #   #  ### # #  
  101. # # # # # # # # # #  #   #  # # # #  
  102. # # # # # # # # # #  #   #  # # # #
  103.  
  104.  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement