advent of code 2017
1.0.0
작년과 마찬가지로 저의 목표는 매일 다른 언어로하는 것입니다. 우리는 무슨 일이 일어나는지 볼 것입니다. APL이나 LISP에서 무언가를하지 않는 것을 후회하면 하루 동안 돌아가서 여러 솔루션을 할 수 있습니다.
이러한 솔루션 중 다수가 선택한 언어로 관용적이지 않다는 면책 조항을 추가해야합니다. 때때로 나는 컨벤션을 알지 못하고 때로는 적극적으로 그들을 무시하기 때문입니다.
이전에.
s ← "123123" ⋄ +/⍎¨"0",s/⍨s=s⌽⍨2÷⍨⍴s+/ ((#~(=>.))@(#~(1&~:))@,@(%/]))"1 issum(1 for l in f if len({''.join(sorted(w)) for w in l.split()}) == len(l.split()))BOUND 명령을 사용한 부팅 가능한 x86 ASMfor (size_t i = 0; i < N; ++n) i += j[i] <3 ? j[i]++ : j[i]--;이 주변의 일부 논의는 이들 중 일부를 (과도하게-불쾌한) 파이썬 목록 이해력으로 시연하게합니다.
with open ( 'day1.in' ) as f : ds = [ int ( c ) for c in f . readline (). strip ()]
r = 1 # or len(ds)/2 for part 2
sum ( a for ( a , b ) in zip ( ds , ds [ r :] + [ ds [: r ]]) if a == b ) with open ( 'day2.in' ) as f : ls = [[ int ( i ) for i in line . strip (). split ()] for line in f ]
sum ( max ( row ) - min ( row ) for row in ls )
sum ([ q // d for q in row for d in row if q != d and 0 == q % d ][ 0 ] for row in ls ) with open ( 'day4.in' ) as f : sum ( 1 for l in f if len ( set ( l . split ())) == len ( l . split ()))
with open ( 'day4.in' ) as f : sum ( 1 for l in f if len ({ '' . join ( sorted ( w )) for w in l . split ()}) == len ( l . split ())) > >> with open ( "day5.in" ) as f : jumps = [ int ( i ) for i in f ]
> >> i , n = 0 , 0
> >> while 0 <= i < len ( jumps ): j = i + jumps [ i ]; jumps [ i ] = jumps [ i ] + ( 1 if jumps [ i ] < 3 else - 1 ); n += 1 ; i = j
> >> print ( n )