알고리즘 with Swift (7569 tomaoto)
·
카테고리 없음
알고리즘 스터디가 드디어 두둥 열렸기에 빠질수 없어 보자마자 참여. 첫 문제로는 토마토 문제. 어디선가 봤던 유형인데 알고리즘을 안푼지가 백만년이라 역시나 감도 안온다.... 일단 읽으면 어? 근처에 있으면 옮아? 옮고 또 그것은 다른것에 영향을 끼친다고?라고 생각하니까 이건 무조건 BFS로 해야겠다를 먼저띵킹 1트 ( 시간초과) 임시 샘플들을 넣으면 결과값이 제대로 나오지만 시간초과가 뜬다. 왜지? 내가 생각한 풀이는 처음에 1인 지점에서 위,아래, 왼.오. 앞,뒤 로 전염이 되기에 먼저 위아래를 제외한것들을 먼저 전염시키고 그 두 if문에서 row가 N만큼 더 가서 그 지점도 0이라면 감염시키고 큐에 넣어주는 형식으로 구현하였다. 찾아보니 removefirst는 시간복잡도가 O(n)이라 생기는 문제였..