프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
package 프로그래머스.자바.행렬테두리회전하기;
class Solution {
int[][] map;
int rotate(int x1, int y1, int x2, int y2){
int prev = 100_000_000;
int next = 0;
int min = 100_000_000;
for(int i = y1; i <= y2-1; i++){
next = map[x1][i];
min = Math.min(min, next);
map[x1][i] = prev;
prev = next;
}
for(int i = x1; i <= x2-1; i++){
next = map[i][y2];
min = Math.min(min, next);
map[i][y2] = prev;
prev = next;
}
for(int i = y2; i >= y1+1; i--){
next = map[x2][i];
min = Math.min(min, next);
map[x2][i] = prev;
prev = next;
}
for(int i = x2; i >= x1; i--){
next = map[i][y1];
min = Math.min(min, next);
map[i][y1] = prev;
prev = next;
}
return min;
}
public int[] solution(int rows, int columns, int[][] queries) {
int[] answer = {};
map = new int[rows][columns];
for(int i = 0; i < rows ;i++){
for(int j = 0; j < columns; j++){
map[i][j] = (i * columns +j+1);
}
}
answer = new int[queries.length];
int i = 0;
for(var k : queries){
answer[i++] = rotate(k[0]-1, k[1]-1, k[2]-1, k[3]-1);
}
return answer;
}
}
'문제풀이 > 프로그래머스' 카테고리의 다른 글
가장 가까운 같은 글자 Java (0) | 2024.02.26 |
---|---|
다단계 칫솔 판매 Java (0) | 2024.02.25 |
[PCCP 기출문제 2번] 석유 시추 (0) | 2024.02.22 |
[PCCP 기출문제 1번] 붕대 감기 (0) | 2024.02.21 |
[2021 카카오 채용연계형 인턴십] 숫자 문자열과 영단어 (0) | 2024.01.24 |