알고리즘/SwExpert recipe

[SWEA] 회문 D3

컵라면만두세트 2021. 3. 1. 17:45

FLAG 이용

import java.util.Scanner;

/*
 * 맵을 만들어주고 
 * */

public class Solution {
	public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	char map [][] = new char[8][8];
	for(int tc=1; tc<=10; tc++) {
		int N = sc.nextInt();
		
		// 입력받은 영문 
		for(int i =0; i<8; i++) {
			String str = sc.next();
			for(int j=0; j<8; j++) {
				 map[i][j] = str.charAt(j);
			}
		}
		
		int cnt = 0;
		// 회문길이를 통해 전체 검사 가로 
		for(int i =0; i<8; i++) {
			for(int j= 0; j<8;j++) {
				boolean flag = false; // 기본 
				
				for(int k=0; k<N/2; k++) {
					// map 을 나가는지 확이 ㄴ
					if((j+N-k-1)>=8 || (j+k)>=8) {
						flag = true;
						break;
					}
					// 만약 같지 않다면
					if(map[i][j+k] != map[i][j+N-k-1]) {
						flag = true;
					}
				}
				if(!flag) {
					cnt++;
				}
				
			}
			
		}
		
		// 세로 
		for(int i =0; i<8; i++) {
			for(int j =0; j<8; j++) {
				boolean flag = false;
				for(int k=0; k<N/2; k++) {
					// 범위 확인
					if((j+N-k-1) >=8 || (j+k)>=8) {
						flag = true;
						break;
					}
					if(map[j+k][i] != map[j+N-k-1][i]) {
						flag = true;
					}
				}
				if(!flag) {
					cnt++;
				}
			}
		}
		System.out.println("#" + tc + " " + cnt);
	}
 }
}

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

[SWEA] 암호생성기 D3  (0) 2021.03.01
[SWEA] 원재의 메모리 복구 D3  (0) 2021.03.01
[SWEA] 거듭제곱 [D3]  (0) 2021.02.24
[SWEA] 장애물 경주 난이도 [D3]  (0) 2021.02.24
[SWEA] 준환이의 운동관리 [D3]  (0) 2021.02.24