PS

[구름톤 챌린지] 13일차 - 발전기 (2) [Python]

kimyoungrok 2023. 8. 31. 04:07

goorm - 구름톤챌린지 13일차
goorm - 구름톤챌린지 13일차


풀이

이전에 풀었던 문제의 응용버전이다.

 

[구름톤 챌린지] 12일차 - 발전기

풀이 집에 전력을 공급하기 위해서는 그 집에 발전기를 설치하거나, 해당 집 주변에 전력이 공급되고 있는 집이 있어야 한다. 즉, 상하좌우로 붙어있는 집의 그룹이 몇 개인지 구하는 문제이다.

kyr-db.tistory.com

이전에는 단순히 집이 있는지 아닌지에 따라 그리고 인접했는지 아닌지에 따라 그룹화 해주었다.

 

이번에는 집의 유형(house_type)과 인접여부에 따라 그룹화를 진행해주면 된다.

동일 유형의 집이고 인접방향일 때마다 다음 탐색 대상에 넣어주면서 그룹에 속할 수 있는 집의 갯수를 세주어야 한다.

탐색이 끝난 후 만약 그룹에 속한 집의 갯수가 K개 이상이라면 "단지"가 될 수 있다.

각 집의 유형별 존재하는 단지의 갯수를 세주자.

그 후에는 가장 많은 단지를 보유한 유형의 번호를 출력하면 되는데, 만약 동일한 갯수의 단지를 보유한 경우가 있을 경우, 유형 번호가 큰 수를 출력해주면된다.

따라서 1~50번의 단지 갯수를 저장한 리스트(group)에 대해 결과 단지 번호를 최신화 해주면 조건에 부합한 단지를 구할 수 있다.


출처

 

구름LEVEL

난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.

level.goorm.io