알고리즘/BOJ

백준 2615번 오목

꾸준함. 2020. 2. 3. 22:26

문제 링크입니다: https://www.acmicpc.net/problem/2615

 

2615번: 오목

오목은 바둑판에 검은 바둑알과 흰 바둑알을 교대로 놓아서 겨루는 게임이다. 바둑판에는 19개의 가로줄과 19개의 세로줄이 그려져 있는데 가로줄은 위에서부터 아래로 1번, 2번, ... ,19번의 번호가 붙고 세로줄은 왼쪽에서부터 오른쪽으로 1번, 2번, ... 19번의 번호가 붙는다. 위의 그림에서와 같이 같은 색의 바둑알이 연속적으로 다섯 알을 놓이면 그 색이 이기게 된다. 여기서 연속적이란 가로, 세로 또는 대각선 방향 모두를 뜻한다. 즉, 위의 그림

www.acmicpc.net

간단해보이지만 "육목 이상은 승리 조건이 아니다"라는 조건 때문에 예외 처리를 철저하게 해야하는 문제였습니다.

승리했을 때 좌측 상단에 위치한 좌표를 출력해야하므로 기본적으로 바둑판 탐색은 좌상단으로부터 우하단으로 가는 순서로 탐색합니다.

따라서 저는 가로, 세로, 우상단, 우하단 순으로 탐색을 하여 승리 조건이 충족된 좌표를 탐색하였고 가독성을 위해 각각의 탐색을 함수로 나누었습니다.

 

개발환경:Visual Studio 2017

 

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 1244번 스위치 켜고 끄기  (4) 2020.02.05
백준 13459번 구슬 탈출  (0) 2020.02.05
백준 17299번 오등큰수  (0) 2020.01.31
백준 1526번 가장 큰 금민수  (1) 2020.01.30
백준 15596번 정수 N개의 합  (0) 2020.01.30