티스토리 뷰
문제
https://school.programmers.co.kr/learn/courses/30/lessons/77485?language=java
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr




정답
특별한 알고리즘 없이 조건에 맞게 구현을 해주면 되는 문제이다.
회전을 어떻게 시계방향으로 줄지 여부를 파악하여 풀면 된다.
필자는 회전하는 값들을 배열에 담아 sorting 후 첫 번째 값을 answer 배열에 넣어주었다.
import java.util.ArrayList;
import java.util.Collections;
class Solution {
static int[][] matrix ;
static int cL;
public static int[] solution(int rows, int columns, int[][] queries) {
int[] answer = new int[queries.length];
matrix = new int[rows][columns];
//행렬 초기화
for (int i = 0 ; i < rows; i++){
for (int j = 0 ; j < columns; j++){
matrix[i][j] = i*columns + j + 1;
}
}
for (int i = 0 ; i < queries.length; i++){
answer[i] = rotate(queries[i]);
}
return answer;
}
public static int rotate(int[]query){
ArrayList<Integer> arrayList = new ArrayList<>();
cL = matrix[query[0]-1][query[1]-1];
for (int i = 1 ; i <= query[3]-query[1] ; i++){
int tmp = matrix[query[0]-1][query[1]+i-1];
arrayList.add(tmp);
matrix[query[0]-1][query[1]+i-1] = cL;
cL = tmp;
}
for (int i = 1 ; i <= query[2]-query[0]; i++){
int tmp = matrix[query[0]-1+i][query[3]-1];
arrayList.add(tmp);
matrix[query[0]-1+i][query[3]-1] = cL;
cL = tmp;
}
for (int i = query[3]-1; i > query[1]-1; i--){
int tmp = matrix[query[2]-1][i-1];
arrayList.add(tmp);
matrix[query[2]-1][i-1] = cL;
cL = tmp;
}
for (int i = query[2]-1; i > query[0]-1; i--){
int tmp = matrix[i-1][query[1]-1];
arrayList.add(tmp);
matrix[i-1][query[1]-1] = cL;
cL = tmp;
}
Collections.sort(arrayList);
return arrayList.get(0);
}
}
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 마법사 상어와 비바라기 자바
- 백준
- Java #객체 #자바기초 #자바
- AWS
- java #스프링 #spring #server
- 쿠버네티스 개념
- 백준 상자 넣기 자바
- 무중단배포
- 자바
- StatefulSet
- EB
- dfs
- 자료구조
- k8s object
- Java #코린이 #자바
- java
- 프로그래머스
- docker
- 행렬 테두리 회전하기 자바
- 코딩테스트
- 구간합구하기
- 단지번호붙이기 자바
- 백준 1965 풀이
- ECR
- 백준 그림 자바
- EC2
- k8s
- 쿠버네티스 오브젝트
- 백준 상자넣기
- 단지번호붙이기 JAVA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함