728x90
처음에 구현은 어떻게 했는데 세부적인 내용에서 틀렸나보다..
결국 구글링으로 답을 찾아봤다.
내가 아직 많이 부족하구나..
방향은 4개다. 8개가 아니고
왜냐하면 시작하는 좌표중 왼쪽, 위를 구하라고 했으므로 왼쪽, 위부터 시작하는 방향만 보기 때문이다.
1. 만약 1또는 2를 찾았다면 cnt 를 1로 해서 탐색을 시작한다.
2. while 문으로 좌표안에 있는지 같은지 여부를 파악하며 계속 진행한다.
3. 만약 5개가 되었다면 6목인지 아닌지 판변한다.
4. 만약 6목이면 continue
5. 6목이 아니라면 값과 좌표를 찍고 문제를 끝낸다.
코드 :
dx = [0,1,1,-1]
dy = [1,0,1,1]
if __name__=="__main__" :
n = 19
mp = [list(map(int,input().split())) for _ in range(n)]
for i in range(n) :
for j in range(n) :
if mp[i][j] > 0 :
for dir in range(4) :
x,y = i + dx[dir], j + dy[dir]
cnt = 1
while 0<=x<n and 0<=y<n and mp[i][j] == mp[x][y] :
cnt +=1
if cnt == 5 :
if 0<=x + dx[dir]<n and 0<=y + dy[dir]<n and mp[x + dx[dir]][y + dy[dir]] == mp[i][j] : continue
if 0<=i - dx[dir]<n and 0<=j - dy[dir]<n and mp[i - dx[dir]][j - dy[dir]] == mp[i][j] : continue
print(mp[i][j])
print(i+1,j+1)
exit(0)
x,y = x + dx[dir], y + dy[dir]
print(0)
반응형
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[Python/BOJ] 백준2138 전구와 스위치_그리디 (1) | 2022.09.30 |
---|---|
[Python/BOJ] 백준 1080 행렬_그리디 (0) | 2022.09.27 |
[Python/BOJ] 백준 1106 호텔_DP (1) | 2022.09.19 |
[Python/BOJ] 백준 1713 후보 추천하기_구현 (0) | 2022.09.02 |
[Python/BOJ] 백준 23325 마법천자문_DP (0) | 2022.09.02 |