U E D R , A S I H C RSS

Score/1002

근법

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 므로, 면 되리라 듬. 결국 결.
~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)

----

때 if e!=''로 는데, 면 len(e)가 0 되므로 그냥 될 것다. "다" "다"를 .

J봤다.


[:+/[:-:@(#*1+#);._1 'X',]

--JuNe
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:00
Processing time 0.0091 sec