2573 (1) 썸네일형 리스트형 [Baekjoon]2573.빙산 2573.빙산 http://www.acmicpc.net/problem/2573 dfs로 푸는 문제였는데 문제의 조건 하나를 생각하지 못해서 계속 시간초과가 났다. 문제를 꼼꼼히 읽고 이해하는 연습이 더 필요할 것 같다. 접근은 다음과 같다. 빙산을 녹인다. dfs로 빙산의 개수를 카운트한다. 카운트가 2이상이면 종료하고 아니면 1로 돌아가서 반복한다. 빙산을 녹이는 melting메소드를 짜면 나머지는 일반적인 탐색문제와 동일하다. 먼저 getAdjSea메소드로 각 칸이 인접한 0의 개수(바다와 인접한 면)를 세서 melt배열에 따로 저장한다. 그 다음 원래 배열 map에서 배열melt에 저장된 값을 빼주고 만약에 그 값이 0보다 작으면 0으로 저장한다. 이후에 map을 순회하며 빙산을 만나면 dfs를 실.. 이전 1 다음