finish extra/the-cake-is-not-a-lie
This commit is contained in:
parent
673d4f1842
commit
2a003074d7
@ -122,3 +122,6 @@ CFcSBwgCCBoHRhkKU1cGAA4AGU5YQR5THBwNFwoGGAxTQQMQVBUSBg4EAAwQRhUQVBUHFAQTGRpT QQM
|
|||||||
* Completed in: 18 mins, 46 secs.
|
* Completed in: 18 mins, 46 secs.
|
||||||
* Reference
|
* Reference
|
||||||
* [The Braille Alphabet](https://www.pharmabraille.com/pharmaceutical-braille/the-braille-alphabet/)
|
* [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