더 나은 개발자가 되고싶다..

[SW Expert Academy] 9489. 고대 유적 본문

코딩/Algorithm

[SW Expert Academy] 9489. 고대 유적

오맹이 2022. 8. 22. 23:36

해당 문제는 완전 탐색으로 접근하여 풀었다.

 

문제를 보면 말이 복잡해서 그렇지 다음 칸이 1이면 최대 카운트를 1 증가시키고 아니면 계속 진행하는 식으로 전체를 탐색한후 최대값을 리턴해주면 된다.

 

행반복, 열 반복 으로 같은 코드를 두번 돌려주는 식으로 접근했다.

 

import java.io.IOException;
import java.util.Scanner;
 
public class Solution {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        int R = sc.nextInt();       
         
        for (int test = 1; test <= R; test++) {
            int N = sc.nextInt();
            int M = sc.nextInt();
             
            int[][] arr = new int[N][M];
             
            for (int i = 0; i < N; i++) {
                for (int j = 0; j < M; j++) {
                    arr[i][j] = sc.nextInt();
                }
            }
         
         
            int count = 0;
            int maxCount = 0;
             
            for (int i = 0; i < N; i++) {
                count = 0;
                for (int j = 0; j < M; j++) {
                    if(arr[i][j] == 1) {
                        count += 1 ;
                        if(count >= maxCount) {
                            maxCount = count;
                             
                        }
                    }else if (arr[i][j]==0){
                        count = 0;
                    }
                }
            }
             
            for (int i = 0; i < M; i++) {
                count = 0;
                for (int j = 0; j < N; j++) {
                    if(arr[j][i] == 1) {
                        count += 1;
                        if(count >= maxCount) {
                            maxCount = count;
                        }
                    }else if(arr[j][i] == 0){
                        count = 0;
                    } 
                }
            }
             
            System.out.println("#" +test+ " "+ maxCount);
         
        }
    }
}

 

'코딩 > Algorithm' 카테고리의 다른 글

쉬프트 연산을 이용한 부분집합 개수  (0) 2019.02.13