Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- NAVER SMS
- Spring
- 당근마켓
- cloud outbound mailer
- 윈도우10
- pom.xml
- 종로예물
- oracle db
- 웨딩링
- Windows 10
- 종로다이아반지
- 허먼밀러
- 포맷
- 스프링 프레임 워크
- ServerTimeZone
- 지원다이아몬드
- G1diamond
- DATABASE
- SENS API
- 웨딩밴드
- naver cloud platform
- Oracle
- NAVER API
- ORA-65096
- SpringMVC
- G1다이아몬드
- ora-00984
- PKIX
- java
- WINDOWS10
Archives
- Today
- Total
더 나은 개발자가 되고싶다..
[SW Expert Academy] 9489. 고대 유적 본문
해당 문제는 완전 탐색으로 접근하여 풀었다.
문제를 보면 말이 복잡해서 그렇지 다음 칸이 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 |
---|