���근��� ¶
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',]