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
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
"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.
"P=NP?"
Returns: {"x.......x", "xx.x....x", "x.xxxx.xx", "xx..xxx.x", "xx.x....x", "x.xxxxxxx", "x.......x" }
""
Returns: {"x.......x", "x.......x" }
" !\"#$%&'()*+,-./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" }
"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" }
"<"
Returns: {"x.......x", "x.xxxx..x", "x.......x" }
"BXIR~"
Returns: {"x.......x", "xx....x.x", "xx.xx...x", "xx..x..xx", "xx.x..x.x", "xxxxxxx.x", "x.......x" }
"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" }
"{#[ {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" }
"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" }
"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" }
"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" }
"`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" }
"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" }
"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" }
"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" }
"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" }
"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" }
"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" }
"L"
Returns: {"x.......x", "xx..xx..x", "x.......x" }
"P=NP?"
Returns: {"x.......x", "xx.x....x", "x.xxxx.xx", "xx..xxx.x", "xx.x....x", "x.xxxxxxx", "x.......x" }
"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" }
"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" }
"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" }