4 modified explanation
source | link

brainfuck, 60 56 bytes

,[>++++++++[-<----<++++>>]<[>>]<[[<]>.[[-]>[.>]<[<]>]],]

Try it online!

Requires a trailing space and prints a leading space. Both of these could be circumvented, but that ends up at 112 bytes.

Explanation

,[  Loop over each byte of input
  Tape: space32 w o r-32 d'
  >++++++++[-<----<++++>>]   Subtract 32 from the character and add 32 to the previous char
  Tape: space32 w o r d-32 0'
  <[>>]<   If the last character was a space
  Tape: space32 w o r d-32 0'
  or
  Tape: space32 w o r d' space-32
  [
      [<]>.   Move to the end of the word and print out the space
      [   Loop over each letter
        [-]    Remove the first letter (initially space)
        >[.>]  Print the rest of the word
        <[<]>  Move back to the first letter
    ]
  ]  Tape: clear
  ]
,]  Get the next byte of input

brainfuck, 60 56 bytes

,[>++++++++[-<----<++++>>]<[>>]<[[<]>.[[-]>[.>]<[<]>]],]

Try it online!

Requires a trailing space and prints a leading space. Both of these could be circumvented, but that ends up at 112 bytes.

Explanation

,[  Loop over each byte of input
  Tape: space w o r-32 d'
  >++++++++[-<----<++++>>]   Subtract 32 from the character and add 32 to the previous char
  Tape: space w o r d-32 0'
  <[>>]<   If the last character was a space
  Tape: space w o r d-32 0'
  or
  Tape: space w o r d' space-32
  [
      [<]>.   Move to the end of the word and print out the space
      [   Loop over each letter
        [-]    Remove the first letter (initially space)
        >[.>]  Print the rest of the word
        <[<]>  Move back to the first letter
      ]
  ]
,]  Get the next byte of input

brainfuck, 60 56 bytes

,[>++++++++[-<----<++++>>]<[>>]<[[<]>.[[-]>[.>]<[<]>]],]

Try it online!

Requires a trailing space and prints a leading space. Both of these could be circumvented, but that ends up at 112 bytes.

Explanation

,[  Loop over each byte of input
  Tape: 32 w o r-32 d'
  >++++++++[-<----<++++>>]   Subtract 32 from the character and add 32 to the previous char
  Tape: 32 w o r d-32 0'
  <[>>]<   If the last character was a space
  Tape: 32 w o r d-32 0'
  or
  Tape: 32 w o r d' space-32
  [
    [<]>.   Move to the end of the word and print out the space
    [   Loop over each letter
      [-]    Remove the first letter (initially space)
      >[.>]  Print the rest of the word
      <[<]>  Move back to the first letter
    ]
    Tape: clear
  ]
,]  Get the next byte of input
3 -4 bytes + explanation
source | link

brainfuck, 6060 56 bytes

,[>++++++++[-<----<++++>>]<[>>]<[[<]>.[[[-]>[[]>[.>]<[<]>[-]>]]>]<[<]>]],]

Try it online!Try it online!

Requires a trailing space and prints a leading space. Both of these could be circumvented, but that ends up at 112 bytes.

Explanation

,[  Loop over each byte of input
  Tape: space w o r-32 d'
  >++++++++[-<----<++++>>]   Subtract 32 from the character and add 32 to the previous char
  Tape: space w o r d-32 0'
  <[>>]<   If the last character was a space
  Tape: space w o r d-32 0'
  or
  Tape: space w o r d' space-32
  [
      [<]>.   Move to the end of the word and print out the space
      [   Loop over each letter
        [-]    Remove the first letter (initially space)
        >[.>]  Print the rest of the word
        <[<]>  Move back to the first letter
      ]
  ]
,]  Get the next byte of input

brainfuck, 60 bytes

,[>++++++++[-<----<++++>>]<[>>]<[[<]>.[-]>[[.>]<[<]>[-]>]],]

Try it online!

Requires a trailing space and prints a leading space. Both of these could be circumvented, but that ends up at 112 bytes.

brainfuck, 60 56 bytes

,[>++++++++[-<----<++++>>]<[>>]<[[<]>.[[-]>[.>]<[<]>]],]

Try it online!

Requires a trailing space and prints a leading space. Both of these could be circumvented, but that ends up at 112 bytes.

Explanation

,[  Loop over each byte of input
  Tape: space w o r-32 d'
  >++++++++[-<----<++++>>]   Subtract 32 from the character and add 32 to the previous char
  Tape: space w o r d-32 0'
  <[>>]<   If the last character was a space
  Tape: space w o r d-32 0'
  or
  Tape: space w o r d' space-32
  [
      [<]>.   Move to the end of the word and print out the space
      [   Loop over each letter
        [-]    Remove the first letter (initially space)
        >[.>]  Print the rest of the word
        <[<]>  Move back to the first letter
      ]
  ]
,]  Get the next byte of input
2 added purer solution
source | link

brainfuck, 60 bytes

,[>++++++++[-<----<++++>>]<[>>]<[[<]>.[-]>[[.>]<[<]>[-]>]],]

Try it online!

Requires a trailing space and prints a leading space. Both of these could be circumvented, but that ends up at the cost of bytes. Nevertheless, I will work on it112 bytes.

brainfuck, 60 bytes

,[>++++++++[-<----<++++>>]<[>>]<[[<]>.[-]>[[.>]<[<]>[-]>]],]

Try it online!

Requires a trailing space and prints a leading space. Both of these could be circumvented, but at the cost of bytes. Nevertheless, I will work on it.

brainfuck, 60 bytes

,[>++++++++[-<----<++++>>]<[>>]<[[<]>.[-]>[[.>]<[<]>[-]>]],]

Try it online!

Requires a trailing space and prints a leading space. Both of these could be circumvented, but that ends up at 112 bytes.

1
source | link