https://www.acmicpc.net/problem/10709
✅ 반복할때 마다 카운트를 올리되 특정 조건을 만나면 초기화 해서 다시하는 구조입니다.
# 행 개수(H)와 열 개수(W) 입력받기
H, W = map(int, input().split())
# 하늘 상태를 2차원 리스트로 저장
arr = [list(input().strip()) for _ in range(H)]
# 결과 배열을 -1로 초기화 (기본적으로 구름 없음)
result = [[-1] * W for _ in range(H)]
# 각 행을 순회하며 구름이 어디 있는지 찾기
for y in range(H):
time = -1 # 현재 구름이 도착하는 시간 (-1이면 아직 구름 없음)
for x in range(W):
# 구름('c')이 발견되면 현재 위치를 0으로 설정
if arr[y][x] == 'c':
time = 0
# 구름이 한 번이라도 나타났다면 현재 위치에 구름 도착 시간 저장
if time != -1:
result[y][x] = time
time += 1 # 오른쪽으로 이동하면 시간 1씩 증가
# 결과 출력 (리스트 언패킹을 사용해 공백으로 구분)
for row in result:
print(*row)
'Baekjoon' 카테고리의 다른 글
2567. 색종이 - 2 (3) | 2025.02.20 |
---|---|
2346. 풍선터뜨리기 (1) | 2025.02.19 |
28279. 덱 2 (1) | 2025.02.19 |
11866. 요세푸스 문제 0 (1) | 2025.02.19 |
2164. 카드 2 (0) | 2025.02.19 |