백준알고리즘(2)
-
BOJ_7576_토마토
1. 구분: DFS, BFS 언어: Python 전략: BFS를 통해 전체 그래프를 모두 탐색 큐에 토마토의 좌표와 며칠인지를 append한다. -> (x,y,day) 큐에서 popleft()하여 나온 칸과 인접한(상, 하, 좌, 우) 칸이 안익은 토마토이고, 칸의 범위를 벗어나지 않았다면, 날짜를 +1하여 큐에 넣는다 -> (x,y,day++) ** 단! 동시 다발적으로 토마토가 익기 때문에 day의 초기화가 필요하다 큐가 빌때까지 위의 과정을 반복한다. 전체를 돌면서 만약 안 익은 토마토가 존재하는지 확인한다. 복잡도: 시간- 1000*1000 = 10^6 -N과 M이 최대 1000이기 때문에 공간 - 최대 10^6 만큼 입력을 받으니 그것을 받을 크기의 큐 2.코드 3. 2차원 배열의 x, y가 너..
2021.07.31 -
백준 11047_동전0
1, 분류: 그리디 알고리즘 언어: 파이썬 2, 코드 3. 실패의 원인 indentation: 파이썬 같이 indentation이 중요한 언어는 더더욱 신경을 써야 한다. 시간 초과 : while문을 이용해 k 가 0이 아닌 경우에만 계산을 하는 조건을 걸었다. i =1인 경우 : 단위가 1인 동전의 경우를 배제했다. 이 경우는 특수한 경우로 꼭 신경을 써줘야 한다.
2021.07.04