38
Awesome Team
Stefan Pochmann
http://www.stefan-pochmann.info/
Last seen 42 minutes ago
Member for 9 years, 1 month, 7 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
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
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
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
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
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
Ah, I should've suspected you've done this already.
No need for `b` if you use `find` instead of `index`.
More
Dictionary version :-)
```python
def calkin_wilf(n: int) -> tuple[int, int]:
result = {'1': 0, '0': 1}
for bit in f"{n:b}":
result[bit] = sum(result.values())
return tuple(result.values())
```
More
The power is not enough to handle `create_intervals({0, 1234567890})`, crashes with a `MemoryError`. But still a nice idea. Second line can be simpler/shorter:
return [(x + 1, y - 1) for x, y in zip(ex, ex[1:]) if y - x > 1]
More
As a speedcuber, I'm loving this. It's like [these six edges](http://www.randelshofer.ch/rubik/patterns/U040.02.html).
More
Hmm... how did you get that here? The function name is wrong, the return type is wrong, and I just tried it and it does get rejected.
Edit: Ah, [I see](https://py.checkio.org/forum/post/12041/new-mission-the-highest-building/) that was apparently the original format. Does CheckiO not rejudge soluti
More