반응형
https://level.goorm.io/exam/195691/%ED%8F%AD%ED%83%84-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-2/quiz/1
문제
풀이
n,k = map(int,input().split())
arr = [list(input().split()) for _ in range(n)]
score = [ [0]*n for _ in range(n)]
dx = [-1,1,0,0,0]
dy = [0,0,-1,1,0]
for _ in range(k):
y,x = map(int,input().split())
y -= 1
x -= 1
for h in range(len(dx)):
ny = y + dx[h]
nx = x + dy[h]
if 0<=ny<n and 0<=nx<n:
if arr[ny][nx] == '0':
score[ny][nx] += 1
elif arr[ny][nx] == '@':
score[ny][nx] += 2
print(max(map(max,score)))
1. BFS를 이용하여 상하좌우 자기자신까지 5자리를 탐색하고 조건에 맞을 경우 score를 갱신
2. score에서 최댓값을 구할때 max(map(max,score))를 사용하면 map이 제일 큰 값이 있는 행을 뽑고 다시 max를 통해 최댓값을 출력한다.
반응형
'알고리즘' 카테고리의 다른 글
[구름톤 챌린지] Day 11 - 통증2(동적 프로그래밍) (0) | 2023.09.03 |
---|---|
[구름톤 챌린지] Day 10 - GameJam(시뮬레이션) (0) | 2023.09.03 |
[구름톤 챌린지] Day 8 - 통증 (0) | 2023.09.03 |
[구름톤 챌린지] Day 7 - 구름 찾기 깃발 (0) | 2023.08.23 |
[구름톤 챌린지] Day 6 - 문자열 나누기 (0) | 2023.08.21 |