250x250
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 |
Tags
- 알고리즘
- 백준13458
- 재귀함수
- BFS
- 백준
- 완전탐색
- Bfs와DFS
- 순열
- 전화번호속의암호
- 23288
- 백준2251
- D드라이브생성
- java
- 백준15652
- 정올 1620
- 중복조합
- 자바 코테
- 코테
- 코테준비
- 알고리즘개념
- 주사위굴리기2
- 자바
- 중복순열
- 정보처리기사
- N과M
- 완탐
- 삼성역테
- 에라토스테네스의채
- 볼륨 만들기
- 파티션 크기 조정
Archives
- Today
- Total
뚱땅뚱땅
[문제] SWEA 2001번 파리 퇴치 본문
728x90
* 출처 swea D2
swexpertacademy.com/main/code/problem/problemDetail.do
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
내 생각
- 이차원 배열 완전 탐색!
처음에 matrix와 크기가 동일한 배열을 추가해서 파리채가 들어갈 수 있는 합을 하나씩 저장하려고 했다.
하지만 이럴 필요가 없다는 걸 알게됐다. 그냥 행,열 순회하면서 파리채가 담을 수 있는 영역(범위 확인)의 파리 합을 변수에다가 계속 저장만 하면 된다.
그래서 findSum() 함수를 만들었다.
public class Solution {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int T = Integer.parseInt(in.readLine()); // 테스트 케이스 수
for (int tc = 1; tc <= T; tc++) {
st = new StringTokenizer(in.readLine()," ");
int N = Integer.parseInt(st.nextToken()); // N: 매트릭스 크기
int M = Integer.parseInt(st.nextToken()); // M: 파리채 크기
int[][] matrix = new int[N][N];
//init matrix
for(int i=0;i<N;i++) {
st = new StringTokenizer(in.readLine()," ");
for(int j=0;j<N;j++) {
matrix[i][j] = Integer.parseInt(st.nextToken());
}
}
//최대값 구하기
int sum = 0;
for(int i=0;i<N;i++) {
for(int j=0;j<N;j++) {
sum = Math.max(sum, findSum(matrix,i,j,N,M));
}
}
System.out.println("#"+tc + " "+ sum);
}
}
// 매트릭스의 (i,j) 위치에서 m 만큼 크기인 파리채가 포함된 영역의 합 구하기
static int findSum(int[][] arr, int i, int j,int n, int m) {
int sum = 0;
for(int a=0;a<m;a++) {
for(int b=0;b<m;b++) {
int x = i+a;
int y = j+b;
if(x<n && y<n) {
sum += arr[x][y];
}
}
}
return sum;
}
}
728x90
'알고리즘 > swea' 카테고리의 다른 글
[문제] SWEA 3499번 퍼펙트 셔플 (0) | 2021.02.05 |
---|---|
[문제] SWEA 1225번 암호생성기 (0) | 2021.02.04 |
[문제] swea 2805번 농작물 수확하기 (0) | 2021.02.03 |
[문제] SWEA 1208번 (S/W 문제해결 기본) 1일차 - Flatten (0) | 2021.02.03 |
[문제] SWEA 1289번 원재의 메모리 복구 (0) | 2021.02.01 |
Comments