[Baekjoon] 8958: OXํ€ด์ฆˆ

โœ”๏ธ ๋ฌธ์ œ ๐Ÿ˜Ž๋งํฌ

โ€œOOXXOXXOOOโ€์™€ ๊ฐ™์€ OXํ€ด์ฆˆ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ๋‹ค. O๋Š” ๋ฌธ์ œ๋ฅผ ๋งž์€ ๊ฒƒ์ด๊ณ , X๋Š” ๋ฌธ์ œ๋ฅผ ํ‹€๋ฆฐ ๊ฒƒ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ๋งž์€ ๊ฒฝ์šฐ ๊ทธ ๋ฌธ์ œ์˜ ์ ์ˆ˜๋Š” ๊ทธ ๋ฌธ์ œ๊นŒ์ง€ ์—ฐ์†๋œ O์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 10๋ฒˆ ๋ฌธ์ œ์˜ ์ ์ˆ˜๋Š” 3์ด ๋œ๋‹ค.
โ€œOOXXOXXOOOโ€์˜ ์ ์ˆ˜๋Š” 1+2+0+0+1+0+0+1+2+3 = 10์ ์ด๋‹ค.
OXํ€ด์ฆˆ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

โœ”๏ธ ์˜ˆ์‹œ

์ž…๋ ฅ

5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX

์ถœ๋ ฅ

10
9
7
55
30

โœ”๏ธ SOLUTION

๋ฌธ์ œ ์ ‘๊ทผ

  • ์—ฐ์†๋œ O์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ์ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€๋˜๋ฏ€๋กœ ํ• ๋‹น๋˜๋Š” ์ ์ˆ˜๊ฐ’๊ณผ ์ด์ ์ˆ˜ ์ดˆ๊ธฐ๊ฐ’ 0์œผ๋กœ ์„ค์ •
  • O๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ ์ด์ „ cnt์—์„œ 1์ฆ๊ฐ€, X๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ cnt 0์œผ๋กœ ๋ณต๊ท€
  • ์—ฐ์†๋œ O์— ์˜ํ•ด ์ฆ๊ฐ€ํ•œ cnt๊ฐ€ ๋”ํ•ด์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฆ๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค sum์— ํ•ฉ์ณ์ง ์ฃผ์˜
import sys

T = int(input())
for _ in range(T) :
    ox = sys.stdin.readline()
    cnt = sum = 0
    for n in range(len(ox)):
        if ox[n] == 'O' :
            cnt += 1
            sum += cnt
        else :
            cnt = 0    
    print(sum)

Categories:

Updated:

Leave a comment