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
- LEVEL2
- algorithm
- java
- backtracking
- Brute-force
- DP
- 네트워크
- DFS
- 스프링
- 자료구조
- 프로젝트
- Java8
- 그래프
- baekjoon
- 운영체제
- Spring
- 백준
- OS
- 프로그래머스
- programmers
- TDD
- BFS
- kotlin
- 자바
- lambda
- 코틀린
- 알고리즘
- 백트래킹
- 모던자바
- back-end
Archives
- Today
- Total
요깨비's LAB
[프로그래머스, JAVA] 행렬 테두리 회전하기 본문
class Solution {
public int[] solution(int rows, int columns, int[][] queries) {
int[] answer = {};
Matrix matrix = new Matrix(rows, columns);
int queryCount = queries.length;
answer = new int[queryCount];
for(int i=0;i<queryCount;i++) {
answer[i] = matrix.rotate(queries[i]);
}
return answer;
}
}
class Matrix {
int min;
int[][] matrix;
public Matrix(int rows, int columns) {
matrix = new int[rows + 1][columns + 1];
int num = 1;
for (int row = 1; row <= rows; row++) {
for (int column = 1; column <= columns; column++) {
matrix[row][column] = num++;
}
}
}
public int rotate(int[] query) {
int row1 = query[0];
int col1 = query[1];
int row2 = query[2];
int col2 = query[3];
min = Integer.MAX_VALUE;
System.out.println("[" + query[0] + ", " + query[1] + ", " + query[2] + ", " + query[3] + "]");
int[][] copyMatrix = new int[matrix.length][matrix[0].length];
for (int i = 1; i < matrix.length; i++) {
for (int j = 1; j < matrix[0].length; j++) {
copyMatrix[i][j] = matrix[i][j];
}
}
for (int i = col1; i < col2; i++) {
matrix[row1][i+1] = copyMatrix[row1][i];
if(min > copyMatrix[row1][i]) {
min = copyMatrix[row1][i];
}
}
for (int i = row1; i < row2; i++) {
matrix[i+1][col2] = copyMatrix[i][col2];
if(min > copyMatrix[i][col2]) {
min = copyMatrix[i][col2];
}
}
for (int i = col2; i > col1; i--) {
matrix[row2][i-1] = copyMatrix[row2][i];
if(min > copyMatrix[row2][i]) {
min = copyMatrix[row2][i];
}
}
for (int i = row2; i > row1; i--) {
matrix[i-1][col1] = copyMatrix[i][col1];
if(min > copyMatrix[i][col1]) {
min = copyMatrix[i][col1];
}
}
return min;
}
}
'알고리즘(Java) > 프로그래머스' 카테고리의 다른 글
[프로그래머스, Java] 거리두기 확인하기 (0) | 2021.09.09 |
---|---|
[프로그래머스, Java] 메뉴 리뉴얼 (0) | 2021.08.17 |
[프로그래머스, JAVA] 뉴스 클러스터링 (0) | 2021.06.14 |
[프로그래머스, JAVA] 단체사진 찍기 (0) | 2021.06.05 |
[프로그래머스, JAVA] 저울 (0) | 2020.02.12 |
Comments