알고리즘/문제풀이 - 프로그래머스
프로그래머스 레벨3 카카오 프렌즈 컬러링북
문제 : https://programmers.co.kr/learn/courses/30/lessons/1829 풀이 DFS를 이용. picture의 모든칸에 방문하지 않았거나 값이 0이 아니면 DFS를 실행한다. DFS를 한번 실행할때마다 하나의 영역이 만들어지고, DFS를 실행한 횟수가 영역의 개수다. 영역을 만들기 위해 실행한 DFS는 방문하지 않았고 현재 칸의 값과 같은 값을 가지는 칸을 상하좌우로 방문해서 방문처리하는것을 반복한다. 그리고 방문할때마다 cnt변수값을 1증가시켜서 최종적으로 리턴할때 cnt값이 이번 DFS의 max_size_of_one_area가 된다. 영역이 만들어질때마다 기존 max_size_of_one_area과 비교해서 큰값으로 갱신한다. 구현 //c++ #include #in..
2019. 10. 9. 12:42
최근댓글