코딩테스트

SWEA 1215 : 회문1

joonwoong 2024. 3. 5. 20:09

문제.

 

풀이.

입력을 받고 가로와 세로를 나누어서 확인한다. 어렵지는 않지만 자리계산이 헷갈리기 때문에 실수에 유의해야 한다.

 

코드.

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class App {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        char[][] puzzle = new char[8][8]; // 문자열들을 받아서 넣을 8*8 배열

        int count = 0; // 회문이 나올때 카운트할 변수
        boolean flag = false; // 회문인지 아닌지 확인할 플래그

        for(int TC=1;TC<=10;TC++){
            count = 0;
            // 찾을 회문 길이 입력받기
            int N = Integer.parseInt(br.readLine());
            //입력받기
            for(int i=0;i<8;i++){
                String str = br.readLine();
                for(int j=0;j<8;j++){
                    puzzle[i][j] = str.charAt(j);
                }
            }
            // 가로 확인하기
            for(int i=0;i<8;i++){
                for(int j=0;j<puzzle.length-N+1;j++){
                    flag = true;
                    for(int k=0;k<N/2;k++){
                        if(puzzle[i][j+k] != puzzle[i][j-k+N-1]){
                            flag = false;
                        }
                    }
                    if(flag==true){
                        count++;
                    }
                }
            }
            // 세로 확인하기
            for(int i=0;i<puzzle.length-N+1;i++){
                for(int j=0;j<8;j++){
                    flag = true;
                    for(int k=0;k<N/2;k++){
                        if(puzzle[i+k][j] != puzzle[i-k+N-1][j]){
                            flag = false;
                        }
                    }
                    if(flag==true){
                        count++;
                    }
                }
            }
            System.out.printf("#%d %d\n", TC, count);
        }  
    }
}

 

결과.

 

소감.

3차까지 갈 문제가 아니었는데 생각을 잘못해서 런타임 오류와 코드 오류가 발생했다. 이런 일이 생기지 않게 더 조심조심 풀어야겠다.

'코딩테스트' 카테고리의 다른 글

SWEA 1217 : 거듭제곱  (0) 2024.03.11
SWEA 1216 : 회문2  (0) 2024.03.05
SWEA 1213 : String  (0) 2024.03.05
SWEA 2005 : 파스칼의 삼각형  (0) 2024.02.23
SWEA 2072 : 간단한 369게임  (0) 2024.02.22