구름톤 챌린지 13일차입니다. 챌린지를 통해 문제 풀이 실력을 향상시킬 수 있으며, 블로그에 학습 일기도 작성하면 추가 보상도 주어지니 관심 있으시면 참여해보시는 것을 추천드립니다.
https://level.goorm.io/l/challenge/goormthon-challenge
문제
입력 / 출력
풀이 과정
BFS를 이용해 단지의 개수를 센 후, 가장 많은 단지가 있는 건물 유형의 번호를 출력했다.
import sys
from collections import deque
input = sys.stdin.readline
n, k = map(int, input().rstrip().split())
maps = [list(map(int, input().rstrip().split())) for _ in range(n)]
danji = [0 for _ in range(31)]
visited = [[0 for _ in range(n)] for _ in range(n)]
row = [-1, 1, 0, 0]
col = [0, 0, -1, 1]
for i in range(n):
for j in range(n):
if visited[i][j] == 0:
visited[i][j] = 1
now = maps[i][j]
cnt = 1
queue = deque()
queue.append((i, j))
while queue:
y, x = queue.popleft()
for d in range(4):
ny = y + row[d]
nx = x + col[d]
if 0 <= ny < n and 0 <= nx < n and visited[ny][nx] == 0 and maps[ny][nx] == now:
visited[ny][nx] = 1
queue.append((ny, nx))
cnt += 1
if cnt >= k:
danji[now] += 1
result = 0
for i in range(1, 31):
if danji[result] <= danji[i]:
result = i
print(result)
'-- 예전 기록 > [완료] 구름톤 챌린지' 카테고리의 다른 글
[ 구름톤 챌린지 ] 15일차 미션 - 과일 구매 (0) | 2023.09.01 |
---|---|
[ 구름톤 챌린지 ] 14일차 미션 - 작은 노드 (2) | 2023.08.31 |
[ 구름톤 챌린지 ] 12일차 미션 - 발전기 (0) | 2023.08.29 |
[ 구름톤 챌린지 ] 11일차 미션 - 통증 (2) (2) | 2023.08.28 |
[ 구름톤 챌린지 ] 10일차 미션 - GameJam (1) | 2023.08.25 |