반응형
츄르사려고 코딩하는 코집사입니다.
1. [SW expert Academy] SWEA 11315번 오목 판정 자바(Java)
1) 난이도 : D3
2) 문제번호 : 11315번
3) 문제 출처
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXaSUPYqPYMDFASQ
2. 문제
N X N 크기의 판이 있다. 판의 각 칸에는 돌이 있거나 없을 수 있다. 돌이 가로, 세로, 대각선 중 하나의 방향으로 다섯 개 이상 연속한 부분이 있는지 없는지 판정하는 프로그램을 작성하라.
3. 제약사항
-
4. 입력
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 하나의 정수 N(5 ≤ N ≤ 20)이 주어진다.
다음 N개의 줄의 각 줄에는 길이 N인 문자열이 주어진다. 각 문자는 ‘o’또는 ‘.’으로, ‘o’는 돌이 있는 칸을 의미하고, ‘.’는 돌이 없는 칸을 의미한다.
5. 출력
각 테스트 케이스 마다 돌이 다섯 개 이상 연속한 부분이 있으면 “YES”를, 아니면 “NO”를 출력한다.
6. 풀이
-
7. 소스 코드
import java.util.*;
public class Main3 {
static int N; // 바둑판 크기
static char[][] map; // 바둑판
static int[] dr = {-1, -1, 0, 1, 1, 1, 0, -1};
static int[] dc = {0, 1, 1, 1, 0, -1, -1, -1};
static boolean sign;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); //테스트케이스 개수
for(int tc=1;tc<=T;tc++) {
N = sc.nextInt(); //바둑판 크기 입력
map = new char[N][N]; //바둑판 크기 선언
//바둑판 입력
for(int i=0;i<N;i++) {
String input = sc.next();
for(int j=0;j<N;j++) {
map[i][j] = input.charAt(j);
}
}
sign = false;
for(int i=0;i<N;i++) {
for(int j=0;j<N;j++) {
if(map[i][j]=='o') {
for(int a=0;a<8;a++) {
for(int count=1;count<5;count++) {
int nr = i + dr[a] * count;
int nc = j + dc[a] * count;
if(nr<0 || nc<0 || nr>=N || nc>=N) break;
else if(map[nr][nc]!='o') break;
if(count==4) sign = true;
}
}
}
}
}
if(sign) System.out.printf("#%d YES\n", tc);
else System.out.printf("#%d NO\n", tc);
}
}
}
반응형
'알고리즘 > SW expert Academy' 카테고리의 다른 글
[SW expert Academy] SWEA 8382번 방향 전환 자바(Java) (0) | 2021.04.19 |
---|---|
[SW expert Academy] SWEA 1263번 사람 네트워크2 자바(Java) (0) | 2021.03.25 |
[SW expert Academy] SWEA 3307번 최장 증가 부분 수열 자바(Java) (0) | 2021.03.25 |
[SW expert Academy] SWEA 3289번 서로소 집합 자바(Java) (0) | 2021.03.18 |
[SW expert Academy] SWEA 4047번 영준이의 카드 카운팅 자바(Java) (0) | 2021.02.24 |
[SW expert Academy] SWEA 6808번 규영이와 인영이의 카드게임 자바(Java) (0) | 2021.02.17 |
[SW expert Academy] SWEA 1984번 중간 평균값 구하기 자바(Java) (0) | 2021.02.17 |
[SW expert Academy] SWEA 5215번 햄버거 다이어트 자바(Java) - 비트마스크 풀이 (0) | 2021.02.17 |
최근댓글