Skip to main content
We’ve updated our Terms of Service. A new AI Addendum clarifies how Stack Overflow utilizes AI interactions.
Code Golf

Return to Revisions

2 of 4
fix typo mentioned by @StanStrum
dzaima
  • 20.3k
  • 2
  • 42
  • 75

Unfurl a string

Given a square string, produce all the output for the string at every stage of unfurling.

The string must unfurl in a clockwise direction one quarter turn at a time.

Examples

Input:

A

Output:

A

Input:

DC
AB

Output:

DC
AB
 D
ABC
ABCD

Input:

GFE
HID
ABC

Output:

GFE
HID
ABC
 HG
 IF
ABCDE
 IH
ABCDEFG
 I
ABCDEFGH
ABCDEFGHI

Input:

JIHG
KPOF
LMNE
ABCD

Output:

JIHG
KPOF
LMNE
ABCD
 LKJ
 MPI
 NOH
ABCDEFG
 NML
 OPK
ABCDEFGHIJ
 ON
 PM
ABCDEFGHIJKL
 PO
ABCDEFGHIJKLMN
 P
ABCDEFGHIJKLMNO
ABCDEFGHIJKLMNOP

Rules

This is so the shortest code in bytes wins.

  • Any reasonable format can be used for I/O assuming it is consistent.
  • Spaces must be used to pad the top lines of the output.
  • Must be able to handle input of all printable characters (including space: \x20-\x7e):
 !"#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  • Leading/trailing whitespace is allowed.
  • You can assume the string will always be a square.
  • All standard loopholes are forbidden.

Inspiration: Write a square program that outputs the number of times it has been "unrolled".

Dom Hastings
  • 24.6k
  • 4
  • 58
  • 94

AltStyle によって変換されたページ (->オリジナル) /