반응형
리뷰
내가 최적해를 낸 것 같지는 않지만 쉬웠다!
문제 풀이
나는 날씨 정보에 대한 배열을 받아 올때 구름의 종착지를 구현하기 위해 뒤에 '.'를 추가하여 받아왔다.
-1로 이루어진 h * w크기의 배열을 추가로 생성해 주었다.
가로의 길이가 곧 반복해야 하는 횟수이므로 while문의 조건은 시간이 가로 크기를 벗어나지 않을 경우 루프를 돌게 했다.
만약 날씨 리스트가 c이고 정답 리스트가 -1일 경우 정답 리스트를 시간 값으로 변경시켰고 변경이 끝난 후에는 구름을 오른쪽으로 한칸 이동시켰다. 이후 시간을 1 올려주고 루프가 종료될 때까지 반복
참고 사항
정답 리스트를 그대로 출력해서 틀려버렸다. 2중 리스트 이므로 각 리스트를 개행 해주면 된다.
정답 코드
def q10709():
# 백준 10709번 기상캐스터 파이썬
h, w = map(int, input().split())
lst = [list(input() + '.') for _ in range(h)]
result = [[-1] * w for _ in range(h)]
day = 0
while day < w:
for i in range(h):
for j in range(w):
if lst[i][j] == 'c' and result[i][j] == -1:
result[i][j] = day
for i in range(h):
for j in range(w - 1, -1, -1):
if lst[i][j] == 'c':
lst[i][j], lst[i][j + 1] = '.', 'c'
day += 1
for i in result:
print(*i)
q10709()
728x90
반응형
'알고리즘 공부 > 파이썬(Python)' 카테고리의 다른 글
백준 13300번 방 배정 파이썬 (0) | 2024.06.25 |
---|---|
백준 2980번 도로와 신호등 파이썬 (0) | 2024.06.25 |
백준 2578번 빙고 파이썬 (0) | 2024.06.25 |
백준 10157번 자리배정 파이썬 (0) | 2024.06.25 |
백준 3985번 롤 케이크 파이썬 (0) | 2024.06.25 |