-
[๋ฐฑ์ค] 17389 ๋ณด๋์ค ์ ์ with PythonPS 2023. 4. 14. 11:47728x90๋ฐ์ํ
๐ BOJ 17389 ๋ณด๋์ค ์ ์
๐ก ์กฐ๊ฑด
OXํ์ N๊ฐ์ ๋ฌธ์ ๋ค์ด ์์ ๋, 1๋ฒ ๋ฌธ์ , 2๋ฒ ๋ฌธ์ , ..., N๋ฒ ๋ฌธ์ ์์ผ๋ก ์ฑ์ ๋๋ค.
๋ฌธ์ ๋ ๋ค๋ก ๊ฐ์๋ก ์ด๋ ค์์ง๊ธฐ ๋๋ฌธ์, i ๋ฒ ๋ฌธ์ ์ ๊ธฐ๋ณธ ์ ์๋ i ์ ์ด๋ค.๋ฌธ์ ๋ฅผ ๋งํ๋ฉด ๊ทธ ๋ฌธ์ ์ ๊ธฐ๋ณธ ์ ์(์ฆ i ๋ฒ ๋ฌธ์ ์ ๊ฒฝ์ฐ i ์ )๋ฅผ ํ๋ํ๋ฉฐ, ํ๋ฆฌ๋ฉด ์ป์ง ๋ชปํ๋ค.
๊ธฐ๋ณธ ์ ์์ ๋ณ๊ฐ๋ก, '๋ณด๋์ค ์ ์'๋ผ๋ ๊ฐ์ด ์กด์ฌํ๋ค. ์ด๋ ์ฒ์์๋ 0์ ์ด๋ค.๋ฌธ์ ๋ฅผ ๋งํ๋ฉด ๊ทธ ๋์ '๋ณด๋์ค ์ ์'๋ฅผ ํ๋ํ๊ณ , '๋ณด๋์ค ์ ์'์ ๊ฐ์ด 1์ ์ฆ๊ฐํ๋ค.
๋ฌธ์ ๋ฅผ ํ๋ฆฌ๋ฉด '๋ณด๋์ค ์ ์'๋ฅผ ์ป์ง ๋ชปํ๊ณ , '๋ณด๋์ค ์ ์'์ ๊ฐ์ด 0์ ์ผ๋ก ์ด๊ธฐํ๋๋ค.์ฒซ ๋ฒ์งธ ์ค์ OXํ์ ๊ธธ์ด์ธ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 โค N โค 10,000)
๋ ๋ฒ์งธ ์ค์ OXํ๋ฅผ ์๋ฏธํ๋ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๋ค.
S๋ O(์ํ๋ฒณ ๋๋ฌธ์ O, ASCII ์ฝ๋ 79)์ X(์ํ๋ฒณ ๋๋ฌธ์ X, ASCII ์ฝ๋ 88)๋ก๋ง ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๊ธธ์ด๋ N์ด๋ค.๋ฌธ์์ด S์ i ๋ฒ์งธ ๊ธ์๊ฐ O์ด๋ฉด ํด๋น ์ฐธ๊ฐ์๊ฐ i ๋ฒ์งธ ๋ฌธ์ ๋ฅผ ๋งํ์์ ์๋ฏธํ๊ณ , X์ด๋ฉด ํ๋ ธ์์ ์๋ฏธํ๋ค.
๊ตฌํ ์ ํ์ ๋ฌธ์
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์ 1
8 XOOOXOOX
์คํ๊ฒฐ๊ณผ 1
26
โจ๏ธ ๋ฌธ์ ํ์ด
๋ฌธ์ ์ ์กฐ๊ฑด์ ์ ์ดํด๋ณธ ๋ค, ์์ ๋ฅผ ์ดํด๋ณด์.
๋ฌธ์ ๋ฅผ ๋งํ๋ฉด ๊ทธ ๋ฌธ์ ์ ๊ธฐ๋ณธ ์ ์(์ฆ i ๋ฒ ๋ฌธ์ ์ ๊ฒฝ์ฐ i ์ )๋ฅผ ํ๋ํ๋ฉฐ, ํ๋ฆฌ๋ฉด ์ป์ง ๋ชปํ๋ค.
๊ธฐ๋ณธ ์ ์์ ๋ณ๊ฐ๋ก, '๋ณด๋์ค ์ ์'๋ผ๋ ๊ฐ์ด ์กด์ฌํ๋ค. ์ด๋ ์ฒ์์๋ 0์ ์ด๋ค.๋ฌธ์ ๋ฅผ ๋งํ๋ฉด ๊ทธ ๋์ '๋ณด๋์ค ์ ์'๋ฅผ ํ๋ํ๊ณ , '๋ณด๋์ค ์ ์'์ ๊ฐ์ด 1์ ์ฆ๊ฐํ๋ค.
๋ฌธ์ ๋ฅผ ํ๋ฆฌ๋ฉด '๋ณด๋์ค ์ ์'๋ฅผ ์ป์ง ๋ชปํ๊ณ , '๋ณด๋์ค ์ ์'์ ๊ฐ์ด 0์ ์ผ๋ก ์ด๊ธฐํ๋๋ค.์์ ์ ๋ํ ์ค๋ช ์ ๋ณด๋ฉฐ ๊ตฌํ์ ํ๋ฉด ๋๋ค.
๐ฅ ์์ค ์ฝ๋
from sys import stdin n = int(stdin.readline()) s = stdin.readline().rstrip() ans = 0 cnt, flag = 0, 0 for i in range(len(s)): if s[i] == 'X': cnt = 0 else: if flag: cnt += 1 ans += (i + 1) + cnt continue ans += (i + 1) + cnt cnt += 1 print(ans)
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2702 ์ด6 ์ํ with Python (0) 2023.04.14 [๋ฐฑ์ค] 4796 ์บ ํ with Python (0) 2023.04.14 [๋ฐฑ์ค] 11383 ๋ with Python (0) 2023.04.13 [๋ฐฑ์ค] 4740 ๊ฑฐ์ธ, ์ค! ๊ฑฐ์ธ ๋ฌธ์์ด with Python (0) 2023.04.13 [๋ฐฑ์ค] 12871 ๋ฌดํ ๋ฌธ์์ด with Python (0) 2023.04.13