finish extra/the-cake-is-not-a-lie #30
@ -122,3 +122,6 @@ CFcSBwgCCBoHRhkKU1cGAA4AGU5YQR5THBwNFwoGGAxTQQMQVBUSBg4EAAwQRhUQVBUHFAQTGRpT QQM
|
||||
* Completed in: 18 mins, 46 secs.
|
||||
* Reference
|
||||
* [The Braille Alphabet](https://www.pharmabraille.com/pharmaceutical-braille/the-braille-alphabet/)
|
||||
|
||||
### the-cake-is-not-a-lie
|
||||
* Completed in: 10 mins, 5 secs.
|
||||
|
||||
21
extra/the-cake-is-not-a-lie/constraints.txt
Normal file
21
extra/the-cake-is-not-a-lie/constraints.txt
Normal file
@ -0,0 +1,21 @@
|
||||
Java
|
||||
====
|
||||
Your code will be compiled using standard Java 8. All tests will be run by calling the solution() method inside the Solution class
|
||||
|
||||
Execution time is limited.
|
||||
|
||||
Wildcard imports and some specific classes are restricted (e.g. java.lang.ClassLoader). You will receive an error when you verify your solution if you have used a blacklisted class.
|
||||
|
||||
Third-party libraries, input/output operations, spawning threads or processes and changes to the execution environment are not allowed.
|
||||
|
||||
Your solution must be under 32000 characters in length including new lines and and other non-printing characters.
|
||||
|
||||
Python
|
||||
======
|
||||
Your code will run inside a Python 2.7.13 sandbox. All tests will be run by calling the solution() function.
|
||||
|
||||
Standard libraries are supported except for bz2, crypt, fcntl, mmap, pwd, pyexpat, select, signal, termios, thread, time, unicodedata, zipimport, zlib.
|
||||
|
||||
Input/output operations are not allowed.
|
||||
|
||||
Your solution must be under 32000 characters in length including new lines and and other non-printing characters.
|
||||
45
extra/the-cake-is-not-a-lie/readme.txt
Normal file
45
extra/the-cake-is-not-a-lie/readme.txt
Normal file
@ -0,0 +1,45 @@
|
||||
The cake is not a lie!
|
||||
======================
|
||||
|
||||
Commander Lambda has had an incredibly successful week: the first test of the LAMBCHOP doomsday device was completed AND Lambda set a new personal high score in Tetris. To celebrate, the Commander ordered cake for everyone -- even the lowliest of minions! But competition among minions is fierce, and if you don't cut exactly equal slices of cake for everyone you'll get in big trouble.
|
||||
|
||||
The cake is round, and decorated with M&Ms in a circle around the edge. But while the rest of the cake is uniform, the M&Ms are not: there are multiple colors, and every minion must get exactly the same sequence of M&Ms. Commander Lambda hates waste and will not tolerate any leftovers, so you also want to make sure you can serve the entire cake.
|
||||
|
||||
To help you best cut the cake, you have turned the sequence of colors of the M&Ms on the cake into a string: each possible letter (between a and z) corresponds to a unique color, and the sequence of M&Ms is given clockwise (the decorations form a circle around the outer edge of the cake).
|
||||
|
||||
Write a function called solution(s) that, given a non-empty string less than 200 characters in length describing the sequence of M&Ms, returns the maximum number of equal parts that can be cut from the cake without leaving any leftovers.
|
||||
|
||||
Languages
|
||||
=========
|
||||
|
||||
To provide a Python solution, edit solution.py
|
||||
To provide a Java solution, edit Solution.java
|
||||
|
||||
Test cases
|
||||
==========
|
||||
Your code should pass the following test cases.
|
||||
Note that it may also be run against hidden test cases not shown here.
|
||||
|
||||
-- Python cases --
|
||||
Input:
|
||||
solution.solution("abcabcabcabc")
|
||||
Output:
|
||||
4
|
||||
|
||||
Input:
|
||||
solution.solution("abccbaabccba")
|
||||
Output:
|
||||
2
|
||||
|
||||
-- Java cases --
|
||||
Input:
|
||||
Solution.solution("abcabcabcabc")
|
||||
Output:
|
||||
4
|
||||
|
||||
Input:
|
||||
Solution.solution("abccbaabccba")
|
||||
Output:
|
||||
2
|
||||
|
||||
Use verify [file] to test your solution and see how it does. When you are finished editing your code, use submit [file] to submit your answer. If your solution passes the test cases, it will be removed from your home folder.
|
||||
23
extra/the-cake-is-not-a-lie/solution.py
Normal file
23
extra/the-cake-is-not-a-lie/solution.py
Normal file
@ -0,0 +1,23 @@
|
||||
def solution(s):
|
||||
for i in range(len(s)):
|
||||
count = i + 1
|
||||
if len(s) % count != 0:
|
||||
continue
|
||||
|
||||
is_equal = True
|
||||
piece = s[:count]
|
||||
for j in range(len(s) / count):
|
||||
if piece != s[j*count:(j+1)*count]:
|
||||
is_equal = False
|
||||
break
|
||||
if is_equal:
|
||||
return len(s)/count
|
||||
|
||||
tests = [
|
||||
("abcabcabcabc", 4),
|
||||
("abccbaabccba", 2),
|
||||
]
|
||||
|
||||
for i, o in tests:
|
||||
result = solution(i)
|
||||
print (i, result == o, result, o)
|
||||
Loading…
x
Reference in New Issue
Block a user