https://www.acmicpc.net/problem/8958
내 코드
# 테스트케이스 개수 입력 받기
cnt = input()
# 입력받은 개수만큼 input 받아서 배열에 저장하기
caselist = []
for _ in range(int(cnt)):
case = input()
caselist.append(case)
# 배열에서 하나씩 꺼내서 split('X')로 나누기
for _case in caselist:
case = _case.split('X')
# 나눈 결과의 배열 값을 하나씩 꺼내서 등차수열 합 구하기
total = 0
for c in case:
n = len(c)
# 배열값의 길이가 1이상이면 실행한다
if n > 0:
nn = n * (n + 1) // 2
# 모든 배열의 값 합치기
total += nn
print(total)
충격적인 숏코딩
exec"print sum(i*-~i/2for i in map(len,raw_input().split('X')));"*input()
'Algorithm' 카테고리의 다른 글
[백준알고리즘] 11654번 / 아스키코드 (python3) (0) | 2017.09.06 |
---|---|
[백준알고리즘] 10039번 / 평균 점수 (python3) (0) | 2017.09.05 |
[백준알고리즘] 2577번 / 숫자의 개수 (python3) (0) | 2017.09.05 |
[백준알고리즘] 1152번 / 단어의 개수 (python3) (0) | 2017.09.05 |
백준알고리즘 시작! (0) | 2017.08.30 |