근법 ¶
1로 방법 리리 고민.
1 ¶
~cpp def toInt(aList): return [{'O':1,'X':0}[v] for v in aList] def ox(aList): for idx in range(1,len(aList)): aList[idx]=aList[idx]*(aList[idx-1]+1) return sum(aList)
2 ¶
input 대 러 방법로 변 . 그 디가 떠.
각 sub 단 "O" 갯를 고 대 각 부로 f(n) = f(n-1)+1 대 면 되겠다 각.
f(n) 대 sum(f(n)) = n(n+1)/2 므로, 를 면 되리라 각 듬. 결국 결.
----
가 때 if e!=''로 리는데, 면 len(e)가 0 되므로 그냥 반 될 것다. "다" "다"를 반.
J로 봤다.
--JuNe
f(n) 대 sum(f(n)) = n(n+1)/2 므로, 를 면 되리라 각 듬. 결국 결.
~cpp def ox(aList): return sum((len(e)*(len(e)+1))/2 for e in aList.split("X") if e!='') for each in ['OOXXOXXOOO','OOXXOOXXOO', 'OXOXOXOXOXOXOX', 'OOOOOOOOOO','OOOOXOOOOXOOOOX']: print ox(each)
[:+/[:-:@(#*1+#);._1 'X',]