Écrire un programme qui prend en une chaîne contenant uniquement des espaces, les sauts de lignes, et les crochets: <
, >
( chevrons ). Sortie d' une chaîne d'espaces, les sauts de lignes et des barres obliques: /
, \
( soliduses ) dont les formes correspondent à l'entrée, mais tournées d' un quart de tour dans le sens horaire, avec une colonne d'espaces insérés entre chaque rangée de l'entrée d' origine (pour l' esthétique).
Par exemple, si l'entrée est la suivante:
<>
La sortie serait la suivante:
/\
\/
Si l'entrée est la suivante:
><<<>
<><
La sortie serait la suivante:
\/
/\ /\
\/ /\
/\ /\
\/
Si l'entrée est la suivante:
>> <<
<> <>
<
><
La sortie serait la suivante:
/\ \/
\/ \/
\/ /\
/\
/\ /\
\/ /\
Remarquez comment il y a une seule colonne d'espaces entre les lignes d'entrée d'origine dans les deux derniers exemples.
Vous pouvez écrire un programme complet qui prend l'entrée de n'importe quelle manière habituelle (ligne de commande, stdin) et imprime la sortie, ou vous pouvez écrire une fonction avec un argument de chaîne, qui imprime ou renvoie la sortie.
Les lignes ou colonnes de début et de fin vides d'espaces dans l'entrée n'ont pas besoin d'être présentes dans la sortie. De plus, il peut y avoir n'importe quelle quantité d'espaces de début et / ou de fin et / ou de nouvelles lignes dans la sortie, à n'importe quel emplacement, tant que les formes résultantes sont correctes. En d'autres termes, la traduction de l'art ascii n'a pas d'importance, seules les formes et leur relation les unes aux autres comptent .
Vous pouvez éventuellement supposer que l'entrée a une nouvelle ligne de fin.
Le code le plus court en octets gagne.