오목의 승패
- 문제 유형 : Simulation, BFS
- 사용언어 : Python
- 난이도 : 실버 3
- 출처 : 코드 트리
https://www.codetree.ai/training-field/my-lists/20228/concave-victory-and-defeat/description
def bfs(x, y):
target = graph[x][y]
for dx, dy in direction:
cnt = 1
nx = x + dx
ny = y + dy
while 0 <= nx < 19 and 0 <= ny < 19 and graph[nx][ny] == target:
cnt += 1
if cnt == 5:
if 0 <= x - dx < 19 and 0 <= y - dy < 19 and graph[x - dx][y - dy] == target:
break
if 0 <= nx + dx < 19 and 0 <= ny + dy < 19 and graph[nx + dx][ny + dy] == target:
break
print(target)
print(x + 1, y + 1)
exit(0)
nx += dx
ny += dy
graph = [list(map(int, input().split())) for _ in range(19)]
direction = [(0, 1), (1, 0), (1, 1), (-1, 1)]
for i in range(19):
for j in range(19):
if graph[i][j] != 0:
bfs(i, j)
print(0)
반응형
'Programming Test > 문제풀이' 카테고리의 다른 글
[문제 풀이 15] 코드 트리 - 섞기 전 카드 위치 (0) | 2024.04.17 |
---|---|
[문제 풀이 14] 프로그래머스 - 기능 개발 (0) | 2024.04.16 |
[문제 풀이 12] 코드 트리 - 색종이 2 (0) | 2024.04.15 |
[문제 풀이 11] 프로그래머스 - 표 편집 (0) | 2024.04.13 |
[문제 풀이 10] 프로그래머스 - 가장 큰 수 (0) | 2024.04.13 |