https://www.acmicpc.net/problem/16955
문제 코드
문제 풀이
함수를 사용하여
1) 좌측 위 + 우측 아래, 2) 가운데 위 + 가운데 아래, 3) 우측 위 + 좌측 아래, 4) 좌 + 우
의 좌표를 비교함.
반복문을 실행, x,y = 0,0 부터 x,y = 10,10 까지 '.' 인 좌표를 찾아서 그 좌표를 'X' 로 바꿔주고, 그 좌표를 포함하여 연속된 'X' 5개가 완성되는지 확인함. 한 좌표에서 모든 함수를 돌았으면, 좌표를 변경하기 전, 돌았던 좌표를 다시 '.' 으로 변경.
만약 A[x][y] 를 포함한 연속 5개의 'X' 를 찾는다면, cnt를 + 1 해주고 return, 이후 cnt 가 1 인 상태로 돌아왔기 때문에 1을 출력, 2중 for 문을 종료하기 위해 설정해놓은 t를 True 로 변경 후 두 번째 for 문을 break.
t == True 로 첫 번째 for 문도 break 하여 종료.
가능한 모든 좌표의 모든 함수 반복 후 연속된 5개의 'X'를 찾지 못한다면 0을 출력하도록 함.
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준 / C++] 1182번: 부분 수열의 합 (0) | 2023.02.18 |
---|---|
[백준/python] 15657 : N과 M (8) (0) | 2023.02.17 |
[백준/Python] 1182번: 부분수열의 합 (0) | 2023.02.12 |
[백준/python] #11655 ROT13 (0) | 2023.02.12 |
[백준/Python] 1718번 (0) | 2023.02.12 |