Statistics

Problem Statement for "BrickMystery"

Problem Statement

In the process of constructing a computer science building at a university, it was decided that a hidden message would be included in the brick patterns.

Each character in the message will be represented by a row of nine slots. Each slot will either contain a brick or remain empty. The first and last slots in a row will always be empty. The other seven slots will represent the character's 7-bit ASCII value in binary (most significant digit first), with empty slots where a binary 1 would be written.

Additionally, for increased aesthetic value, a character with ASCII value zero is added before and after the message .

The characters will be arranged sequentially from the top: the first character in the topmost row, the second right below it, etc.

Given a String message, return the pattern as a String[], where each String represents one row and each character in the strings is either 'x' (empty) or '.' (brick). The rows in the return should be ordered top to bottom.

Definition

Class:
BrickMystery
Method:
createPattern
Parameters:
String
Returns:
String[]
Method signature:
String[] createPattern(String message)
(be sure your method is public)

Constraints

  • message will contain between 0 and 50 characters, inclusive.
  • Each character in message will have ASCII value between 32 and 126, inclusive.

Examples

  1. "L"

    Returns: {"x.......x", "xx..xx..x", "x.......x" }

    The ASCII value of the uppercase letter L is 76, which is 1001100 in binary. This translates to "x..xx.." in our code.

  2. "P=NP?"

    Returns: {"x.......x", "xx.x....x", "x.xxxx.xx", "xx..xxx.x", "xx.x....x", "x.xxxxxxx", "x.......x" }

  3. ""

    Returns: {"x.......x", "x.......x" }

  4. " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ"

    Returns: {"x.......x", "x.x.....x", "x.x....xx", "x.x...x.x", "x.x...xxx", "x.x..x..x", "x.x..x.xx", "x.x..xx.x", "x.x..xxxx", "x.x.x...x", "x.x.x..xx", "x.x.x.x.x", "x.x.x.xxx", "x.x.xx..x", "x.x.xx.xx", "x.x.xxx.x", "x.x.xxxxx", "x.xx....x", "x.xx...xx", "x.xx..x.x", "x.xx..xxx", "x.xx.x..x", "x.xx.x.xx", "x.xx.xx.x", "x.xx.xxxx", "x.xxx...x", "x.xxx..xx", "x.xxx.x.x", "x.xxx.xxx", "x.xxxx..x", "x.xxxx.xx", "x.xxxxx.x", "x.xxxxxxx", "xx......x", "xx.....xx", "xx....x.x", "xx....xxx", "xx...x..x", "xx...x.xx", "xx...xx.x", "xx...xxxx", "xx..x...x", "xx..x..xx", "xx..x.x.x", "xx..x.xxx", "xx..xx..x", "xx..xx.xx", "xx..xxx.x", "xx..xxxxx", "xx.x....x", "xx.x...xx", "x.......x" }

  5. "RSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~"

    Returns: {"x.......x", "xx.x..x.x", "xx.x..xxx", "xx.x.x..x", "xx.x.x.xx", "xx.x.xx.x", "xx.x.xxxx", "xx.xx...x", "xx.xx..xx", "xx.xx.x.x", "xx.xx.xxx", "xx.xxx..x", "xx.xxx.xx", "xx.xxxx.x", "xx.xxxxxx", "xxx.....x", "xx.....xx", "xx....x.x", "xx....xxx", "xx...x..x", "xx...x.xx", "xx...xx.x", "xx...xxxx", "xx..x...x", "xx..x..xx", "xx..x.x.x", "xx..x.xxx", "xx..xx..x", "xx..xx.xx", "xx..xxx.x", "xx..xxxxx", "xx.x....x", "xx.x...xx", "xx.x..x.x", "xx.x..xxx", "xx.x.x..x", "xx.x.x.xx", "xx.x.xx.x", "xx.x.xxxx", "xx.xx...x", "xx.xx..xx", "xx.xx.x.x", "xxxxx.xxx", "xxxxxx..x", "xxxxxx.xx", "xxxxxxx.x", "x.......x" }

  6. "<"

    Returns: {"x.......x", "x.xxxx..x", "x.......x" }

  7. "BXIR~"

    Returns: {"x.......x", "xx....x.x", "xx.xx...x", "xx..x..xx", "xx.x..x.x", "xxxxxxx.x", "x.......x" }

  8. "TA7{:!@|WG"

    Returns: {"x.......x", "xx.x.x..x", "xx.....xx", "x.xx.xxxx", "xxxxx.xxx", "x.xxx.x.x", "x.x....xx", "xx......x", "xxxxxx..x", "xx.x.xxxx", "xx...xxxx", "x.......x" }

  9. "{#[ {NWV,HU.?IGK~~#U(WDB[L6E0JEU;>A/FWRRW1Y`TQVC6S"

    Returns: {"x.......x", "xxxxx.xxx", "x.x...xxx", "xx.xx.xxx", "x.x.....x", "xxxxx.xxx", "xx..xxx.x", "xx.x.xxxx", "xx.x.xx.x", "x.x.xx..x", "xx..x...x", "xx.x.x.xx", "x.x.xxx.x", "x.xxxxxxx", "xx..x..xx", "xx...xxxx", "xx..x.xxx", "xxxxxxx.x", "xxxxxxx.x", "x.x...xxx", "xx.x.x.xx", "x.x.x...x", "xx.x.xxxx", "xx...x..x", "xx....x.x", "xx.xx.xxx", "xx..xx..x", "x.xx.xx.x", "xx...x.xx", "x.xx....x", "xx..x.x.x", "xx...x.xx", "xx.x.x.xx", "x.xxx.xxx", "x.xxxxx.x", "xx.....xx", "x.x.xxxxx", "xx...xx.x", "xx.x.xxxx", "xx.x..x.x", "xx.x..x.x", "xx.x.xxxx", "x.xx...xx", "xx.xx..xx", "xxx.....x", "xx.x.x..x", "xx.x...xx", "xx.x.xx.x", "xx....xxx", "x.xx.xx.x", "xx.x..xxx", "x.......x" }

  10. "LUH>YD}J0Z32TK.-CD`3Q;D+J{Q|AUSG[G}V]'0&$>TXE(;0=C"

    Returns: {"x.......x", "xx..xx..x", "xx.x.x.xx", "xx..x...x", "x.xxxxx.x", "xx.xx..xx", "xx...x..x", "xxxxxx.xx", "xx..x.x.x", "x.xx....x", "xx.xx.x.x", "x.xx..xxx", "x.xx..x.x", "xx.x.x..x", "xx..x.xxx", "x.x.xxx.x", "x.x.xx.xx", "xx....xxx", "xx...x..x", "xxx.....x", "x.xx..xxx", "xx.x...xx", "x.xxx.xxx", "xx...x..x", "x.x.x.xxx", "xx..x.x.x", "xxxxx.xxx", "xx.x...xx", "xxxxxx..x", "xx.....xx", "xx.x.x.xx", "xx.x..xxx", "xx...xxxx", "xx.xx.xxx", "xx...xxxx", "xxxxxx.xx", "xx.x.xx.x", "xx.xxx.xx", "x.x..xxxx", "x.xx....x", "x.x..xx.x", "x.x..x..x", "x.xxxxx.x", "xx.x.x..x", "xx.xx...x", "xx...x.xx", "x.x.x...x", "x.xxx.xxx", "x.xx....x", "x.xxxx.xx", "xx....xxx", "x.......x" }

  11. "B-SPILS#GJ TIVIF7F%J^LXI`H/'VSLW8#T-=(WA8F)}4T_IE1"

    Returns: {"x.......x", "xx....x.x", "x.x.xx.xx", "xx.x..xxx", "xx.x....x", "xx..x..xx", "xx..xx..x", "xx.x..xxx", "x.x...xxx", "xx...xxxx", "xx..x.x.x", "x.x.....x", "xx.x.x..x", "xx..x..xx", "xx.x.xx.x", "xx..x..xx", "xx...xx.x", "x.xx.xxxx", "xx...xx.x", "x.x..x.xx", "xx..x.x.x", "xx.xxxx.x", "xx..xx..x", "xx.xx...x", "xx..x..xx", "xxx.....x", "xx..x...x", "x.x.xxxxx", "x.x..xxxx", "xx.x.xx.x", "xx.x..xxx", "xx..xx..x", "xx.x.xxxx", "x.xxx...x", "x.x...xxx", "xx.x.x..x", "x.x.xx.xx", "x.xxxx.xx", "x.x.x...x", "xx.x.xxxx", "xx.....xx", "x.xxx...x", "xx...xx.x", "x.x.x..xx", "xxxxxx.xx", "x.xx.x..x", "xx.x.x..x", "xx.xxxxxx", "xx..x..xx", "xx...x.xx", "x.xx...xx", "x.......x" }

  12. "A4(0FFY`TZYCEZ('WIQ+}9L:{F*O)!50 @*6,CTN9%YXHIF&J_"

    Returns: {"x.......x", "xx.....xx", "x.xx.x..x", "x.x.x...x", "x.xx....x", "xx...xx.x", "xx...xx.x", "xx.xx..xx", "xxx.....x", "xx.x.x..x", "xx.xx.x.x", "xx.xx..xx", "xx....xxx", "xx...x.xx", "xx.xx.x.x", "x.x.x...x", "x.x..xxxx", "xx.x.xxxx", "xx..x..xx", "xx.x...xx", "x.x.x.xxx", "xxxxxx.xx", "x.xxx..xx", "xx..xx..x", "x.xxx.x.x", "xxxxx.xxx", "xx...xx.x", "x.x.x.x.x", "xx..xxxxx", "x.x.x..xx", "x.x....xx", "x.xx.x.xx", "x.xx....x", "x.x.....x", "xx......x", "x.x.x.x.x", "x.xx.xx.x", "x.x.xx..x", "xx....xxx", "xx.x.x..x", "xx..xxx.x", "x.xxx..xx", "x.x..x.xx", "xx.xx..xx", "xx.xx...x", "xx..x...x", "xx..x..xx", "xx...xx.x", "x.x..xx.x", "xx..x.x.x", "xx.xxxxxx", "x.......x" }

  13. "`EN\"=JDRB=O$X\\OX?EL`P>=S XB#Y:-D2`DW{$TJYH5TZKY"

    Returns: {"x.......x", "xxx.....x", "xx...x.xx", "xx..xxx.x", "x.x...x.x", "x.xxxx.xx", "xx..x.x.x", "xx...x..x", "xx.x..x.x", "xx....x.x", "x.xxxx.xx", "xx..xxxxx", "x.x..x..x", "x.xxxx..x", "xx..x.x.x", "x.xxxxx.x", "xx.xx...x", "xx.xxx..x", "xx..xxxxx", "xx.xx...x", "x.xxxxxxx", "xx...x.xx", "xx..xx..x", "xxx.....x", "xx.x....x", "x.xxxxx.x", "x.xxxx.xx", "xx.x..xxx", "x.x.....x", "xx.xx...x", "xx....x.x", "x.x...xxx", "xx.xx..xx", "x.xxx.x.x", "x.x.xx.xx", "xx...x..x", "x.xx..x.x", "xxx.....x", "xx...x..x", "xx.x.xxxx", "xxxxx.xxx", "x.x..x..x", "xx.x.x..x", "xx..x.x.x", "xx.xx..xx", "xx..x...x", "x.xx.x.xx", "xx.x.x..x", "xx.xx.x.x", "xx..x.xxx", "xx.xx..xx", "x.......x" }

  14. "A GDJE JE NEBULOZ?"

    Returns: {"x.......x", "xx.....xx", "x.x.....x", "xx...xxxx", "xx...x..x", "xx..x.x.x", "xx...x.xx", "x.x.....x", "xx..x.x.x", "xx...x.xx", "x.x.....x", "xx..xxx.x", "xx...x.xx", "xx....x.x", "xx.x.x.xx", "xx..xx..x", "xx..xxxxx", "xx.xx.x.x", "x.xxxxxxx", "x.......x" }

  15. "I'M SORRY DAVE, I'M AFRAID I CAN'T DO THAT."

    Returns: {"x.......x", "xx..x..xx", "x.x..xxxx", "xx..xx.xx", "x.x.....x", "xx.x..xxx", "xx..xxxxx", "xx.x..x.x", "xx.x..x.x", "xx.xx..xx", "x.x.....x", "xx...x..x", "xx.....xx", "xx.x.xx.x", "xx...x.xx", "x.x.xx..x", "x.x.....x", "xx..x..xx", "x.x..xxxx", "xx..xx.xx", "x.x.....x", "xx.....xx", "xx...xx.x", "xx.x..x.x", "xx.....xx", "xx..x..xx", "xx...x..x", "x.x.....x", "xx..x..xx", "x.x.....x", "xx....xxx", "xx.....xx", "xx..xxx.x", "x.x..xxxx", "xx.x.x..x", "x.x.....x", "xx...x..x", "xx..xxxxx", "x.x.....x", "xx.x.x..x", "xx..x...x", "xx.....xx", "xx.x.x..x", "x.x.xxx.x", "x.......x" }

  16. "IT CAN'T RAIN ALL THE TIME"

    Returns: {"x.......x", "xx..x..xx", "xx.x.x..x", "x.x.....x", "xx....xxx", "xx.....xx", "xx..xxx.x", "x.x..xxxx", "xx.x.x..x", "x.x.....x", "xx.x..x.x", "xx.....xx", "xx..x..xx", "xx..xxx.x", "x.x.....x", "xx.....xx", "xx..xx..x", "xx..xx..x", "x.x.....x", "xx.x.x..x", "xx..x...x", "xx...x.xx", "x.x.....x", "xx.x.x..x", "xx..x..xx", "xx..xx.xx", "xx...x.xx", "x.......x" }

  17. "CARPENTER LANZ"

    Returns: {"x.......x", "xx....xxx", "xx.....xx", "xx.x..x.x", "xx.x....x", "xx...x.xx", "xx..xxx.x", "xx.x.x..x", "xx...x.xx", "xx.x..x.x", "x.x.....x", "xx..xx..x", "xx.....xx", "xx..xxx.x", "xx.xx.x.x", "x.......x" }

  18. "I HOPE YOU HAVE A BOAT READY FOR A QUICK ESCAPE."

    Returns: {"x.......x", "xx..x..xx", "x.x.....x", "xx..x...x", "xx..xxxxx", "xx.x....x", "xx...x.xx", "x.x.....x", "xx.xx..xx", "xx..xxxxx", "xx.x.x.xx", "x.x.....x", "xx..x...x", "xx.....xx", "xx.x.xx.x", "xx...x.xx", "x.x.....x", "xx.....xx", "x.x.....x", "xx....x.x", "xx..xxxxx", "xx.....xx", "xx.x.x..x", "x.x.....x", "xx.x..x.x", "xx...x.xx", "xx.....xx", "xx...x..x", "xx.xx..xx", "x.x.....x", "xx...xx.x", "xx..xxxxx", "xx.x..x.x", "x.x.....x", "xx.....xx", "x.x.....x", "xx.x...xx", "xx.x.x.xx", "xx..x..xx", "xx....xxx", "xx..x.xxx", "x.x.....x", "xx...x.xx", "xx.x..xxx", "xx....xxx", "xx.....xx", "xx.x....x", "xx...x.xx", "x.x.xxx.x", "x.......x" }

  19. "WHY, DID YOU WANT TO BORROW ONE?"

    Returns: {"x.......x", "xx.x.xxxx", "xx..x...x", "xx.xx..xx", "x.x.xx..x", "x.x.....x", "xx...x..x", "xx..x..xx", "xx...x..x", "x.x.....x", "xx.xx..xx", "xx..xxxxx", "xx.x.x.xx", "x.x.....x", "xx.x.xxxx", "xx.....xx", "xx..xxx.x", "xx.x.x..x", "x.x.....x", "xx.x.x..x", "xx..xxxxx", "x.x.....x", "xx....x.x", "xx..xxxxx", "xx.x..x.x", "xx.x..x.x", "xx..xxxxx", "xx.x.xxxx", "x.x.....x", "xx..xxxxx", "xx..xxx.x", "xx...x.xx", "x.xxxxxxx", "x.......x" }

  20. "L"

    Returns: {"x.......x", "xx..xx..x", "x.......x" }

  21. "P=NP?"

    Returns: {"x.......x", "xx.x....x", "x.xxxx.xx", "xx..xxx.x", "xx.x....x", "x.xxxxxxx", "x.......x" }

  22. "JKSDAFJSDJFKSDJFKSDJFKSDJFKSDJZZZkdhfgkdsgFKS"

    Returns: {"x.......x", "xx..x.x.x", "xx..x.xxx", "xx.x..xxx", "xx...x..x", "xx.....xx", "xx...xx.x", "xx..x.x.x", "xx.x..xxx", "xx...x..x", "xx..x.x.x", "xx...xx.x", "xx..x.xxx", "xx.x..xxx", "xx...x..x", "xx..x.x.x", "xx...xx.x", "xx..x.xxx", "xx.x..xxx", "xx...x..x", "xx..x.x.x", "xx...xx.x", "xx..x.xxx", "xx.x..xxx", "xx...x..x", "xx..x.x.x", "xx...xx.x", "xx..x.xxx", "xx.x..xxx", "xx...x..x", "xx..x.x.x", "xx.xx.x.x", "xx.xx.x.x", "xx.xx.x.x", "xxx.x.xxx", "xxx..x..x", "xxx.x...x", "xxx..xx.x", "xxx..xxxx", "xxx.x.xxx", "xxx..x..x", "xxxx..xxx", "xxx..xxxx", "xx...xx.x", "xx..x.xxx", "xx.x..xxx", "x.......x" }

  23. "Cretufolin"

    Returns: {"x.......x", "xx....xxx", "xxxx..x.x", "xxx..x.xx", "xxxx.x..x", "xxxx.x.xx", "xxx..xx.x", "xxx.xxxxx", "xxx.xx..x", "xxx.x..xx", "xxx.xxx.x", "x.......x" }

  24. "HHY^&*^5()@!"

    Returns: {"x.......x", "xx..x...x", "xx..x...x", "xx.xx..xx", "xx.xxxx.x", "x.x..xx.x", "x.x.x.x.x", "xx.xxxx.x", "x.xx.x.xx", "x.x.x...x", "x.x.x..xx", "xx......x", "x.x....xx", "x.......x" }


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: