Statistics

Problem Statement for "DiamondLogo"

Problem Statement

*** You may only submit a given problem once - no resubmissions will be accepted. ***

Diamond and Xerxes Inc. is designing their logo. It will be a hollow (the inside will be filled with spaces) diamond, in a square field of characters. The edges of the diamond will be denoted by 'X' (for Xerxes). But how big should it be? What should the background character be? They want software that will generate a logo so that they can choose.
    .X.      --X--
    X X      -X X-
    .X.      X   X
             -X X-
             --X--   
Above are drawn two possible logos. The left-hand one has size 2 (the number of X's along each edge of the diamond) and background character '.'. The right-hand one has size 3 and background character '-'.

Create a class DiamondLogo that contains a method logo that is given an int size, the number of X's along each edge of the diamond, and a char background that is the character to be used as the background. The method should return a String[] giving the resulting square logo. The first element of the return will be the top row, the next element the second row, etc. The return must not include any extraneous rows or columns.

Definition

Class:
DiamondLogo
Method:
logo
Parameters:
int, char
Returns:
String[]
Method signature:
String[] logo(int size, char background)
(be sure your method is public)

Constraints

  • background will be an ASCII character between 32 and 126 inclusive
  • size will be between 2 and 40 inclusive

Examples

  1. 2

    '.'

    Returns: { ".X.", "X X", ".X." }

    This is the left-hand example above. Each element of the return contains 3 characters, thus providing the 3x3 logo.

  2. 3

    '-'

    Returns: { "--X--", "-X X-", "X X", "-X X-", "--X--" }

    This is the right-hand example above, giving a 5x5 logo.

  3. 5

    'q'

    Returns: { "qqqqXqqqq", "qqqX Xqqq", "qqX Xqq", "qX Xq", "X X", "qX Xq", "qqX Xqq", "qqqX Xqqq", "qqqqXqqqq" }

  4. 3

    '/'

    Returns: { "//X//", "/X X/", "X X", "/X X/", "//X//" }

  5. 40

    'x'

    Returns: { "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxX Xxxxxxxxxxxxxxx", "xxxxxxxxxxxxxX Xxxxxxxxxxxxxx", "xxxxxxxxxxxxX Xxxxxxxxxxxxx", "xxxxxxxxxxxX Xxxxxxxxxxxx", "xxxxxxxxxxX Xxxxxxxxxxx", "xxxxxxxxxX Xxxxxxxxxx", "xxxxxxxxX Xxxxxxxxx", "xxxxxxxX Xxxxxxxx", "xxxxxxX Xxxxxxx", "xxxxxX Xxxxxx", "xxxxX Xxxxx", "xxxX Xxxx", "xxX Xxx", "xX Xx", "X X", "xX Xx", "xxX Xxx", "xxxX Xxxx", "xxxxX Xxxxx", "xxxxxX Xxxxxx", "xxxxxxX Xxxxxxx", "xxxxxxxX Xxxxxxxx", "xxxxxxxxX Xxxxxxxxx", "xxxxxxxxxX Xxxxxxxxxx", "xxxxxxxxxxX Xxxxxxxxxxx", "xxxxxxxxxxxX Xxxxxxxxxxxx", "xxxxxxxxxxxxX Xxxxxxxxxxxxx", "xxxxxxxxxxxxxX Xxxxxxxxxxxxxx", "xxxxxxxxxxxxxxX Xxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }

  6. 6

    ' '

    Returns: { " X ", " X X ", " X X ", " X X ", " X X ", "X X", " X X ", " X X ", " X X ", " X X ", " X " }

  7. 4

    '^'

    Returns: { "^^^X^^^", "^^X X^^", "^X X^", "X X", "^X X^", "^^X X^^", "^^^X^^^" }

  8. 16

    'L'

    Returns: { "LLLLLLLLLLLLLLLXLLLLLLLLLLLLLLL", "LLLLLLLLLLLLLLX XLLLLLLLLLLLLLL", "LLLLLLLLLLLLLX XLLLLLLLLLLLLL", "LLLLLLLLLLLLX XLLLLLLLLLLLL", "LLLLLLLLLLLX XLLLLLLLLLLL", "LLLLLLLLLLX XLLLLLLLLLL", "LLLLLLLLLX XLLLLLLLLL", "LLLLLLLLX XLLLLLLLL", "LLLLLLLX XLLLLLLL", "LLLLLLX XLLLLLL", "LLLLLX XLLLLL", "LLLLX XLLLL", "LLLX XLLL", "LLX XLL", "LX XL", "X X", "LX XL", "LLX XLL", "LLLX XLLL", "LLLLX XLLLL", "LLLLLX XLLLLL", "LLLLLLX XLLLLLL", "LLLLLLLX XLLLLLLL", "LLLLLLLLX XLLLLLLLL", "LLLLLLLLLX XLLLLLLLLL", "LLLLLLLLLLX XLLLLLLLLLL", "LLLLLLLLLLLX XLLLLLLLLLLL", "LLLLLLLLLLLLX XLLLLLLLLLLLL", "LLLLLLLLLLLLLX XLLLLLLLLLLLLL", "LLLLLLLLLLLLLLX XLLLLLLLLLLLLLL", "LLLLLLLLLLLLLLLXLLLLLLLLLLLLLLL" }

  9. 37

    '9'

    Returns: { "999999999999999999999999999999999999X999999999999999999999999999999999999", "99999999999999999999999999999999999X X99999999999999999999999999999999999", "9999999999999999999999999999999999X X9999999999999999999999999999999999", "999999999999999999999999999999999X X999999999999999999999999999999999", "99999999999999999999999999999999X X99999999999999999999999999999999", "9999999999999999999999999999999X X9999999999999999999999999999999", "999999999999999999999999999999X X999999999999999999999999999999", "99999999999999999999999999999X X99999999999999999999999999999", "9999999999999999999999999999X X9999999999999999999999999999", "999999999999999999999999999X X999999999999999999999999999", "99999999999999999999999999X X99999999999999999999999999", "9999999999999999999999999X X9999999999999999999999999", "999999999999999999999999X X999999999999999999999999", "99999999999999999999999X X99999999999999999999999", "9999999999999999999999X X9999999999999999999999", "999999999999999999999X X999999999999999999999", "99999999999999999999X X99999999999999999999", "9999999999999999999X X9999999999999999999", "999999999999999999X X999999999999999999", "99999999999999999X X99999999999999999", "9999999999999999X X9999999999999999", "999999999999999X X999999999999999", "99999999999999X X99999999999999", "9999999999999X X9999999999999", "999999999999X X999999999999", "99999999999X X99999999999", "9999999999X X9999999999", "999999999X X999999999", "99999999X X99999999", "9999999X X9999999", "999999X X999999", "99999X X99999", "9999X X9999", "999X X999", "99X X99", "9X X9", "X X", "9X X9", "99X X99", "999X X999", "9999X X9999", "99999X X99999", "999999X X999999", "9999999X X9999999", "99999999X X99999999", "999999999X X999999999", "9999999999X X9999999999", "99999999999X X99999999999", "999999999999X X999999999999", "9999999999999X X9999999999999", "99999999999999X X99999999999999", "999999999999999X X999999999999999", "9999999999999999X X9999999999999999", "99999999999999999X X99999999999999999", "999999999999999999X X999999999999999999", "9999999999999999999X X9999999999999999999", "99999999999999999999X X99999999999999999999", "999999999999999999999X X999999999999999999999", "9999999999999999999999X X9999999999999999999999", "99999999999999999999999X X99999999999999999999999", "999999999999999999999999X X999999999999999999999999", "9999999999999999999999999X X9999999999999999999999999", "99999999999999999999999999X X99999999999999999999999999", "999999999999999999999999999X X999999999999999999999999999", "9999999999999999999999999999X X9999999999999999999999999999", "99999999999999999999999999999X X99999999999999999999999999999", "999999999999999999999999999999X X999999999999999999999999999999", "9999999999999999999999999999999X X9999999999999999999999999999999", "99999999999999999999999999999999X X99999999999999999999999999999999", "999999999999999999999999999999999X X999999999999999999999999999999999", "9999999999999999999999999999999999X X9999999999999999999999999999999999", "99999999999999999999999999999999999X X99999999999999999999999999999999999", "999999999999999999999999999999999999X999999999999999999999999999999999999" }

  10. 4

    'X'

    Returns: { "XXXXXXX", "XXX XXX", "XX XX", "X X", "XX XX", "XXX XXX", "XXXXXXX" }

  11. 11

    'x'

    Returns: { "xxxxxxxxxxXxxxxxxxxxx", "xxxxxxxxxX Xxxxxxxxxx", "xxxxxxxxX Xxxxxxxxx", "xxxxxxxX Xxxxxxxx", "xxxxxxX Xxxxxxx", "xxxxxX Xxxxxx", "xxxxX Xxxxx", "xxxX Xxxx", "xxX Xxx", "xX Xx", "X X", "xX Xx", "xxX Xxx", "xxxX Xxxx", "xxxxX Xxxxx", "xxxxxX Xxxxxx", "xxxxxxX Xxxxxxx", "xxxxxxxX Xxxxxxxx", "xxxxxxxxX Xxxxxxxxx", "xxxxxxxxxX Xxxxxxxxxx", "xxxxxxxxxxXxxxxxxxxxx" }

  12. 12

    '?'

    Returns: { "???????????X???????????", "??????????X X??????????", "?????????X X?????????", "????????X X????????", "???????X X???????", "??????X X??????", "?????X X?????", "????X X????", "???X X???", "??X X??", "?X X?", "X X", "?X X?", "??X X??", "???X X???", "????X X????", "?????X X?????", "??????X X??????", "???????X X???????", "????????X X????????", "?????????X X?????????", "??????????X X??????????", "???????????X???????????" }

  13. 13

    ' '

    Returns: { " X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", "X X", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X X ", " X " }

  14. 2

    'a'

    Returns: { "aXa", "X X", "aXa" }

  15. 30

    '`'

    Returns: { "`````````````````````````````X`````````````````````````````", "````````````````````````````X X````````````````````````````", "```````````````````````````X X```````````````````````````", "``````````````````````````X X``````````````````````````", "`````````````````````````X X`````````````````````````", "````````````````````````X X````````````````````````", "```````````````````````X X```````````````````````", "``````````````````````X X``````````````````````", "`````````````````````X X`````````````````````", "````````````````````X X````````````````````", "```````````````````X X```````````````````", "``````````````````X X``````````````````", "`````````````````X X`````````````````", "````````````````X X````````````````", "```````````````X X```````````````", "``````````````X X``````````````", "`````````````X X`````````````", "````````````X X````````````", "```````````X X```````````", "``````````X X``````````", "`````````X X`````````", "````````X X````````", "```````X X```````", "``````X X``````", "`````X X`````", "````X X````", "```X X```", "``X X``", "`X X`", "X X", "`X X`", "``X X``", "```X X```", "````X X````", "`````X X`````", "``````X X``````", "```````X X```````", "````````X X````````", "`````````X X`````````", "``````````X X``````````", "```````````X X```````````", "````````````X X````````````", "`````````````X X`````````````", "``````````````X X``````````````", "```````````````X X```````````````", "````````````````X X````````````````", "`````````````````X X`````````````````", "``````````````````X X``````````````````", "```````````````````X X```````````````````", "````````````````````X X````````````````````", "`````````````````````X X`````````````````````", "``````````````````````X X``````````````````````", "```````````````````````X X```````````````````````", "````````````````````````X X````````````````````````", "`````````````````````````X X`````````````````````````", "``````````````````````````X X``````````````````````````", "```````````````````````````X X```````````````````````````", "````````````````````````````X X````````````````````````````", "`````````````````````````````X`````````````````````````````" }

  16. 4

    '\\'

    Returns: { "\\\\\\X\\\\\\", "\\\\X X\\\\", "\\X X\\", "X X", "\\X X\\", "\\\\X 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: