DAY 9. 폭탄 구현하기(2)
import sys
input = sys.stdin.readline
n, k = map(int, input().split())
# 땅 list 만들기
ground = []
for i in range(n):
ground.append(input().split())
reset_ground = [[0] * n for _ in range(n)]
# 4가지 방향이랑 현재
steps = [(0, -1), (1, 0), (0, 1), (-1, 0), (0, 0)]
for i in range(k):
# 폭탄 좌표 받기
y, x = map(int, input().rstrip().split())
y -= 1
x -= 1
# 폭탄 투하
for step in steps:
ny = y + step[0]
nx = x + step[1]
if 0 <= ny < n and 0 <= nx < n and ground[ny][nx] != '#':
if ground[ny][nx] == '0':
reset_ground[ny][nx] += 1
elif ground[ny][nx] == '@':
reset_ground[ny][nx] += 2
print(max(map(max, reset_ground)))
for문 안에서 반복적으로 입력값 받을시 시간 초과 문제가 발생할 수 있으니 sys 모듈 사용
sys.stdin.readline은 뒤에 개행 문자가 포함되므로 rstrip() 혹은 split() 함수로 공백을 기준으로 값 나눠주기.
이중 list에서 최댓값 찾기 => max, map 이용
'교육 > 구름톤 챌린지' 카테고리의 다른 글
[구름톤 챌린지 WEEK 4 - 그래프 탐색] DAY 16.연합 (0) | 2023.09.06 |
---|---|
[구름톤 챌린지 WEEK 3 - 탐색과 동적 프로그래밍] DAY 12. 발전기 (0) | 2023.08.30 |
[구름톤 챌린지 WEEK 3 - 탐색과 동적 프로그래밍] DAY 11. 통증 (2) (0) | 2023.08.30 |
[구름톤 챌린지 WEEK 1 - 구현] DAY 4 ~ 5 리뷰 (0) | 2023.08.17 |
[구름톤 챌린지 WEEK 1 - 구현] DAY 1 ~ 3 리뷰 (0) | 2023.08.16 |