-- 예전 기록/[완료] 구름톤 챌린지

[ 구름톤 챌린지 ] 9일차 미션 - 폭탄 구현하기 (2)

rejo 2023. 8. 24. 14:16

구름톤 챌린지 9일차입니다. 챌린지를 통해 문제 풀이 실력을 향상시킬 수 있으며, 블로그에 학습 일기도 작성하면 추가 보상도 주어지니 관심 있으시면 참여해보시는 것을 추천드립니다.

https://level.goorm.io/l/challenge/goormthon-challenge

 

구름LEVEL

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

level.goorm.io

 

문제

입력 / 출력

풀이 과정

단순 구현으로 가장 큰 폭탄 값을 구했다.

import sys
input = sys.stdin.readline

n, k = map(int, input().rstrip().split())
maps = [list(input().rstrip().split()) for _ in range(n)]
order = [list(map(int, input().rstrip().split())) for _ in range(k)]
status = [[0 for _ in range(n)] for _ in range(n)]

row = [-1, 1, 0, 0]
col = [0, 0, -1, 1]

def bombEffect(now_map):
	if now_map == '0':
		return 1
	elif now_map == '#':
		return 0
	elif now_map == '@':
		return 2

for oy, ox in order:
	# Drop
	status[oy - 1][ox - 1] += bombEffect(maps[oy - 1][ox - 1])
	for d in range(4):
		ny = oy - 1 + row[d]
		nx = ox - 1 + col[d]
		
		if 0 <= ny < n and 0 <= nx < n:
			status[ny][nx] += bombEffect(maps[ny][nx])

max_value = 0
for i in status:
	max_value = max(max_value, max(i))

print(max_value)