38
Awesome Team
Stefan Pochmann
http://www.stefan-pochmann.info/
Last seen 1 hour ago
Member for 9 years, 18 days
Difficulty Normal
Recent solutions I'm happy with (just starting/trying this):
[Words Order](https://py.checkio.org/mission/words-order/publications/StefanPochmann/python-3/short-dict-subsequence/share/5bbb2df54ec5a810d36d7f70ae7e92da/)
Dang it no markdown here?
Shortening it by removing code duplication (but I'm afraid it makes it a little less clear):
def create_intervals(data):
return list(zip(*(sorted(x for x in data if x+d not in data)
for d in (-1, 1))))
And golfed:
create_intervals=lambda X:list(zip(*(sort
More
Zip the interval starts with the interval ends. Similar to [my previous solution](https://py.checkio.org/mission/create-intervals/publications/StefanPochmann/python-3/simple-oneliner/), so I could've seen this myself, but really just a corrected and improved version of [Lemmi's solution](https://py.
More
Took me forever to find those index expressions. My progression was:
checkio=lambda n:'Fizz Buzz'[(n%3>0)*5:4+5*(n%5<1)]or`n`
checkio=lambda n:'Fizz Buzz'[n%-3&-4:4+5*(n%5<1)]or`n`
checkio=lambda n:'Fizz Buzz'[n%-3&-4:9-n%5-n*4%5]or`n`
checkio=lambda n:'Fizz Buzz'[n%-3&-4:12-(n%-5&8
More
Still one character longer than [mine](https://py.checkio.org/mission/house-password/publications/StefanPochmann/python-3/shortest/?ordering=most_voted&filtering=all) :-P
But it's trivial to make yours shorter. Why don't you use a set comprehension?
More
Disproof: From goal state, just swap blue with yellow. You can't solve it because you never turn rings 2 and 3.
More
Alternatively, a little more efficient and maybe clearer:
def merge_intervals(intervals):
result = []
for interval in intervals:
if not result or interval[0] > result[-1][1] + 1:
result.append(interval)
else:
result[-1] = r
More
I finally [beat you](http://www.checkio.org/mission/fizz-buzz/publications/StefanPochmann/python-27/shortest-52-kill-me-now/)... omg that was hard work. Thanks for the motivation :-)
More
For example `correct_sentence('I')` crashes ("I." is a perfectly fine sentence, and since a point of the mission is to correct a missing dot, `'I'` is a perfectly reasonable input).
Btw, how about `tail.strip(".") + "."`?
More
Ah, I should've suspected you've done this already.
No need for `b` if you use `find` instead of `index`.
More
Just shortened the third line a bit (required changing the characters):
checkio=lambda i,r=range:int(bytes(48+min(r(10),
key=lambda n:bin(ord('歫⒚玧碧䧭㣏毎ኧ篯㧮'[n])
^sum(i[o//3][d+o%3]<More
How about...
def merged(intervals):
if intervals:
it = iter(intervals)
a, b = next(it)
...
More
Unfortunately I looked at veky's solution before thinking much, so I can't claim this as my own. I made the regex shorter, though.
More
I've seen people abuse *dicts* as sets, but this is the first time I've seen a Counter for that :-). Is there a good reason for that, or is it just left over from an earlier attempt?
More
Collecting None, sweet. Or is that just to confuse+educate? :-)
`0<=ij>=0` would have been nice as well. Or `n>i>-1More