๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/Baejoon

[๋ฐฑ์ค€] 8958๋ฒˆ - OXํ€ด์ฆˆ

๐Ÿ“– ๋ฌธ์ œ

"OOXXOXXOOO"์™€ ๊ฐ™์€ OXํ€ด์ฆˆ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ๋‹ค. O๋Š” ๋ฌธ์ œ๋ฅผ ๋งž์€ ๊ฒƒ์ด๊ณ , X๋Š” ๋ฌธ์ œ๋ฅผ ํ‹€๋ฆฐ ๊ฒƒ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ๋งž์€ ๊ฒฝ์šฐ ๊ทธ ๋ฌธ์ œ์˜ ์ ์ˆ˜๋Š” ๊ทธ ๋ฌธ์ œ๊นŒ์ง€ ์—ฐ์†๋œ O์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 10๋ฒˆ ๋ฌธ์ œ์˜ ์ ์ˆ˜๋Š” 3์ด ๋œ๋‹ค.

 

"OOXXOXXOOO"์˜ ์ ์ˆ˜๋Š” 1+2+0+0+1+0+0+1+2+3 = 10์ ์ด๋‹ค.

 

OXํ€ด์ฆˆ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

๐Ÿ‘€ ์ถœ์ œ์˜๋„

๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€

๐Ÿงพ ์ฝ”๋“œ

a = int(input()) # ๋ช‡ ๋ฒˆ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ž…๋ ฅํ•  ๊ฒƒ์ธ์ง€ ์ž…๋ ฅ
for i in range(a): # ์ž…๋ ฅํ•  ๊ฒฐ๊ณผ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต
    b = input() # ๋ฌธ์ž์—ด๋กœ ๊ฒฐ๊ณผ ์ž…๋ ฅ
    s = list(b) # ์ž…๋ ฅ๋ฐ›์€ ๊ฒฐ๊ณผ๋ฅผ list๋กœ ์ €์žฅ
    sum = 0
    c = 1
    for i in s: # ์ž…๋ ฅ๋ฐ›์€ ๊ฒฐ๊ณผ(OX)๋งŒํผ ๋ฐ˜๋ณต
        if i == 'O': # ๋งŒ์•ฝ i๊ฐ€ O์ผ ๊ฒฝ์šฐ
            sum += c # c๋ฅผ ๋”ํ•ด์ฃผ์–ด ์ ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•จ
            c += 1 # ์—ฐ์†๋œ O์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด 1์”ฉ ์ฆ๊ฐ€
        else: # ์•„๋‹ ๊ฒฝ์šฐ
            c = 1 # ๊ทธ๋Œ€๋กœ c๊ฐ€ 1์ด๋„๋ก ์œ ์ง€
    print(sum) # ์ ์ˆ˜ ์ถœ๋ ฅ

๐Ÿ’ป ํ’€์ด์„ค๋ช…

1. ๋ช‡ ๋ฒˆ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ž…๋ ฅํ•  ๊ฒƒ์ธ์ง€ ์ž…๋ ฅ.

2. ์ž…๋ ฅํ•  ๊ฒฐ๊ณผ ๊ฐœ์ˆ˜๋งŒํผ for๋ฌธ์„ ์ด์šฉํ•ด์„œ ๋ฐ˜๋ณต.

3. OXํ€ด์ฆˆ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ž…๋ ฅํ•ด์„œ b์— ์ €์žฅ.

4. ๊ฒฐ๊ณผ๋ฅผ ์ž…๋ ฅ๋ฐ›์€ b๋ฅผ ๋ฆฌ์ŠคํŠธ์— ์›์†Œ๋ณ„๋กœ ๋‚˜๋ˆ„์–ด s์— ์ €์žฅํ•จ.

5. OX๊ฒฐ๊ณผ์˜ ๊ฐœ์ˆ˜๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„œ ์ž…๋ ฅ๋ฐ›์€ OX๊ฒฐ๊ณผ ์›์†Œ๋งŒํผ ๋ฐ˜๋ณตํ•˜๋ฉฐ ๋งŒ์•ฝ O์ผ ๊ฒฝ์šฐ c(c=1)์„ ์ ์ˆ˜์— ๋”ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ๋งž์€ ๊ฒฝ์šฐ ๊ทธ ๋ฌธ์ œ์˜ ์ ์ˆ˜๋Š” ๊ทธ ๋ฌธ์ œ๊นŒ์ง€ ์—ฐ์†๋œ O์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋˜๋ฏ€๋กœ c๋ฅผ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ด. 

5. ์•„๋‹ ๊ฒฝ์šฐ c๊ฐ€ 1์ด๋„๋ก ์œ ์ง€ํ•˜๋ฉฐ ๋ชจ๋“  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜๋ณตํ–ˆ์„ ๊ฒฝ์šฐ ์ ์ˆ˜๋ฅผ ์ถœ๋ ฅ์‹œํ‚ด.

๐Ÿ“ ํ•™์Šต๋ฐฉ๋ฒ•

python์˜ ๋ฐ˜๋ณต๋ฌธ๊ณผ list() ์‚ฌ์šฉ๋ฒ• ํ•™์Šตํ•˜๊ธฐ.