본문 바로가기

dev/코테

카카오프렌즈 컬러링북

프로그래머스에서 카카오프렌즈 컬러링북 문제를 풀었습니다.

 

https://school.programmers.co.kr/learn/courses/30/lessons/1829

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제에 대한 설명의 위의 링크에서 확인하시면 됩니다.

 

소스 코드

 

DFS로 풀기 위해 재귀함수를 사용해서 풀었습니다.

 

문제는 해당 같은 색상의 영역을 구하는 것입니다.

 

같은 색상이어도 상하좌우로 연결되어 있지 않다면 같은 영역으로 취급하지 않습니다.

 

색상은 0보다 큰 수이기 때문에 0보다 큰 경우 탐색을 실행합니다.(37 ~ 43라인, 60 ~ 83라인)

 

해당 인덱스가 배열 범위를 벗어난 경우 탐색을 종료합니다.(64 ~ 66라인)

 

해당 인덱스 방문하지 않은 경우 같은 색상인지 확인하고 방문한 경우 탐색을 종료합니다.(68 ~ 82라인)

 

해당 인덱스의 색상이 같고, 같은 색상의 영역인 경우 방문여부를 저장하는 visitLog를 true로 변경하고 상하좌우를 탐색합니다.(69 ~ 75라인)

 

채점 결과

 

현재 테스트 케이스가 1개밖에 없어서 쉽게 통과한 거 같은데

 

추후에 테스트 케이스가 늘어난다면 틀릴 수도 있을 거 같습니다.

 

이 문제는 아래의 무인도 여행 문제와 비슷한데 한번 풀어보면 좋을 거 같습니다.

 

https://school.programmers.co.kr/learn/courses/30/lessons/154540

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

'dev > 코테' 카테고리의 다른 글

110 옮기기  (0) 2024.03.30
숫자 변환하기  (0) 2024.03.30
여행경로  (0) 2024.01.03
가장 먼 노드  (0) 2023.11.08
달리기 경주  (0) 2023.10.05