Problem Solving/BOJ & Programmers

[BOJ] 10709๋ฒˆ: ๊ธฐ์ƒ์บ์Šคํ„ฐ

geum 2024. 9. 25. 11:14

โœ๏ธ ๋ฌธ์ œ

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์ฐจ์› ๋ฐฐ์—ด์ด์—ˆ์ง€๋งŒ ๋ฐฐ์—ด ์š”์†Œ ํ•˜๋‚˜์”ฉ(ํ–‰์— ํ•ด๋‹น) ํ™•์ธํ•˜๋ฉด์„œ ๊ทธ ํ–‰์—์„œ๋งŒ ์ฒ˜๋ฆฌ๋ฅผ ์ž˜ ํ•ด์ฃผ๋ฉด ๋˜๋Š” ๋ฌธ์ œ์˜€๋‹ค.