백준 8958 OX퀴즈 / for문의 새로운 형태 (버전을 잘 확인하자..)

문제링크: https://www.acmicpc.net/problem/8958

문제의 해결법은 기준을 어디에 잡느냐에 있다.

나는 O의 갯수가 몇개인지 세는 것에 기준을 두었다

n = int(input())
for i in range(n):
    score = 0
    Os = 0
    t_case = list(input())
    for j in range(len(t_case)):
        if t_case[j] == 'O':
            Os += 1
            score += Os
        else:
            Os = 0
    print(score)

다른 답변을 참고해보니, 기준을 X로 놓으면 조금더 간단하게 코드를 작성할 수 도 있었다.

n = int(input())
for i in range(n):
    a = list(map(len, input().split('X')))
    b = [j*(j+1)//2 for j in a]
    print(sum(b))

잘 모르겠는것: len형?
연산자 //: 몫 구함

j*(j+1)부분은 증말 생각도 못하것다...

좋은 웹페이지 즐겨찾기