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 3
fix to explanation
Neil
  • 184.4k
  • 12
  • 76
  • 290

Charcoal, 64 bytes

WS⊞υι≔Eθ⪫⪪⭆υ§λκ-|¦#|υFυFΦ⪪ι#λ«P↓Noκ|→→»←⸿⸿FE§υ0⌕A⭆υ§λκ#Wι«⊕−⊟ι⊟ι→

Try it online! Link is to verbose version of code. Takes input as a rectangular list of newline-terminated strings. Explanation:

WS⊞υι

Input the stack of tables.

≔Eθ⪫⪪⭆υ§λκ-|¦#|υ

Transpose the stack and identify the ends of the tabletops i.e. those parts above the legs.

FυFΦ⪪ι#λ«

For each column of the original stack split it on tabletop ends, dropping the first element (which is the space above the first end) and loop over the resulting legs.

P↓Noκ|→→

Print the length of the leg vertically (which Charcoal automatically translates into a line of |s) without moving the cursor and then allow two columns for the next leg.

»←⸿⸿

Move up to the start of the previous row but one.

FE§υ0⌕A⭆υ§λκ#

Transpose the stack back and find all of the tabletop ends.

Wι«⊕−⊟ι⊟ι→

Loop over the ends in pairs, print the inclusive difference between each pair (which Charcoal automatically translates into a line of -s) and then allow a column for the next tabletop.

Neil
  • 184.4k
  • 12
  • 76
  • 290

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