wjdrldyd0213   3년 전

꽤 오래 고민한 문제인데 이젠 메모리 초과가 나오네요 ㅠㅠ.

풀이방식은 다음과 같습니다.

  1. dfs로 섬마다 번호를 매긴다.
  2. 처음 바다와 맞닿은 구역을 visit배열에 1로 표시한다
  3. bfs를 이용하여 각 섬의 안쪽에 있는 섬 중 바로 맞닿은 섬들을 linkInner벡터에 저장한다.(바로 맞닿은 섬이란 중간에 다른 섬이 끼어있지 않고 바다를 통해서만 이동해도 만날 수 있는 섬을 말한다.)
  4. dfs를 이용하여 각 섬의 안쪽에 몇개의 섬이 있는지 h배열에 저장한다.
  5. 각 섬들의 높이를 탐색하여 높이별 섬의 갯수를 ans배열에 저장하고 출력한다.

어디서 줄이면 좋을지 조언해주시면 감사하겠습니다.

댓글을 작성하려면 로그인해야 합니다.