โ๏ธ ๋ฌธ์
JOI์๋ ๋จ๋ถ๋ฐฉํฅ์ด H ํฌ๋ก๋ฏธํฐ, ๋์๋ฐฉํฅ์ด W ํฌ๋ก๋ฏธํฐ์ธ ์ง์ฌ๊ฐํ ๋ชจ์์ด๋ค. JOI์๋ ๊ฐ๋ก์ ์ธ๋ก์ ๊ธธ์ด๊ฐ 1ํฌ๋ก๋ฏธํฐ์ธ H × W ๊ฐ์ ์์ ๊ตฌ์ญ๋ค๋ก ๋๋์ด ์๋ค. ๋ถ์ชฝ์ผ๋ก๋ถํฐ i ๋ฒ์งธ, ์์ชฝ์ผ๋ก๋ถํฐ j ๋ฒ์งธ์ ์๋ ๊ตฌ์ญ์ (i, j) ๋ก ํ์ํ๋ค.
๊ฐ ๊ตฌ์ญ์ ํ๋์๋ ๊ตฌ๋ฆ์ด ์์ ์๋, ์์ ์๋ ์๋ค. ๋ชจ๋ ๊ตฌ๋ฆ์ 1๋ถ์ด ์ง๋ ๋๋ง๋ค 1ํฌ๋ก๋ฏธํฐ์ฉ ๋์ชฝ์ผ๋ก ์ด๋ํ๋ค. ์ค๋์ ๋ ์จ๊ฐ ์ ๋ง ์ข๊ธฐ ๋๋ฌธ์ JOI์์ ์ธ๋ถ์์ ๊ตฌ๋ฆ์ด ์ด๋ํด ์ค๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ง๊ธ ๊ฐ ๊ตฌ์ญ์ ํ๋์ ๊ตฌ๋ฆ์ด ์๋์ง ์๋์ง๋ฅผ ์๊ณ ์๋ค. ๊ธฐ์์ฒญ์์ ์ผํ๊ณ ์๋ ์ฌ๋ฌ๋ถ์ ๊ฐ ๊ตฌ์ญ์ ๋ํด์ ์ง๊ธ๋ถํฐ ๋ช ๋ถ๋ค ์ฒ์์ผ๋ก ํ๋์ ๊ตฌ๋ฆ์ด ์ค๋์ง๋ฅผ ์์ธกํ๋ ์ผ์ ๋งก์๋ค.
๊ฐ ๊ตฌ์ญ์ ๋ํด์ ์ง๊ธ๋ถํฐ ๋ช ๋ถ๋ค ์ฒ์์ผ๋ก ํ๋์ ๊ตฌ๋ฆ์ด ์ค๋์ง๋ฅผ ๊ตฌํ์ฌ๋ผ.
๐ค ์ ์ถ๋ ฅ ์์
๐ง ๋์ด๋/์์ ์๊ฐ
- ๋์ด๋: solved.ac ๊ธฐ์ค S5
- ์์ ์๊ฐ: ์ ํํ ์ธก์ ์ ์ํ์ง๋ง 10~15๋ถ ์ ๋ ๊ฑธ๋ฆฐ ๋ฏ
๐ก ํ์ด
์ ๋ ฅ์ด 2์ฐจ์ ๋ฐฐ์ด๋ก ๋ค์ด์ค๋ ๋ฌธ์ ๋ฅผ ๋ณด๋ฉด ์ง๋ ๊ฒ์ ๋จน๋ ์คํ์ผ์ด๋ผ ์ด ๋ฌธ์ ๋ ์ฒ์์๋ ๋ณด์๋ง์ ์. 2์ฐจ์ ๋ฐฐ์ด. ์ถ์๋ค. ํ์ง๋ง ๋ฌธ์ ๋ฆฌ์คํธ์์ ์ด ๋ฌธ์ ์ ํ๋ก ํผ ๊ฒ ๋ง์๋๋ฐ ์ด๊ฒ๋ง ์ ํ๊ณ ๋๋๋๊น ๋๋ฌด ๊ฑฐ์ฌ๋ ธ๋ ๊ฒ.. ๋ค์ ๊ผผ๊ผผํ ์ฝ์ด ๋ณด๋๊น ์๊ฐ๋ณด๋ค ๊ฐ๋จํ ๋ฌธ์ ์๋ค.
๋ฏธ๋ฆฌ ๊ฒ์ ๋จน์ง ๋ง์!
H, W = map(int, input().split())
sky = [list(input()) for _ in range(H)]
clouds = []
for cloud in sky:
status = []
num = -1
for i in range(0, len(cloud)):
if cloud[i] == "c":
num = 0
elif cloud[i] == "." and num >= 0:
num += 1
status.append(num)
clouds.append(status)
for val in clouds:
print(*val, sep=" ")
์ ๋ ฅ์ Hํ W์ด ํฌ๊ธฐ์ 2์ฐจ์ ๋ฐฐ์ด์ด์์ง๋ง ๋ฐฐ์ด ์์ ํ๋์ฉ(ํ์ ํด๋น) ํ์ธํ๋ฉด์ ๊ทธ ํ์์๋ง ์ฒ๋ฆฌ๋ฅผ ์ ํด์ฃผ๋ฉด ๋๋ ๋ฌธ์ ์๋ค.
'Problem Solving > BOJ & Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 2667๋ฒ: ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ (0) | 2024.09.27 |
---|---|
[BOJ] 1012๋ฒ: ์ ๊ธฐ๋ ๋ฐฐ์ถ (0) | 2024.09.26 |
[BOJ] 3135๋ฒ: ๋ผ๋์ค (0) | 2024.09.24 |
[BOJ] 4659๋ฒ: ๋น๋ฐ๋ฒํธ ๋ฐ์ํ๊ธฐ (0) | 2024.09.21 |
[BOJ] 2805๋ฒ: ๋๋ฌด ์๋ฅด๊ธฐ (0) | 2024.09.19 |