토마토 2

[백준, 자바, 7569번] 토마토

풀이해당 문제는 3차원 배열 문제로, 파이썬 사용할 때 관련 문제를 풀어봤고자바로는 처음이라 도키도키 했음그래서 첫 풀이 과정은그냥 일반 bfs처럼 해결하면서,주위에 안 익은 토마토가 있는 좌표만 dq에 추가하고,이후에 dq를 탐색하면서 해당 좌표 주위에 있는안 익은 토마토를 익히게 하며 카운팅 후 결과를 도출하고자 했음그러나 시간초과.물론 처음 코드를 작성할 때도, 유사한 로직이 한 번 더 있고다 차원의 for문과 while문이 있으니 쉽지 않을 것 같다고 생각을 했지만,그래도 안 익은 토마토 주위에 있는 토마토만을 dq에 추가하니까 시간적으로 효율이 괜찮지 않을까? 하고 제출을 했지만 시간초과가 나서 고민을 하게 됨.이후 두 번째 풀이 과정으로중복되는 코드 로직을 없애고,그냥 단순히 첫 데이터를 mt..

알고리즘 2024.10.31

[백준, 7576번] 토마토

import sys from collections import deque input = sys.stdin.readline m,n = map(int,input().split()) arr = [list(map(int,input().strip('\n').split())) for _ in range(n)] visit = [[0]*m for _ in range(n)] q = deque([]) result = 0 # --------- bfs로 탐색하며 함께 나아가야 양측에서 방문하고 # --------- 같은 곳을 방문하지 않을 수 있기에 미리 1을 찾기 for i in range(n): for j in range(m): if arr[i][j] == 1: visit[i][j] = 1 q.append([i,j,0])..

알고리즘 2023.08.14