[프로그래머스] 행렬 테두리 회전하기 (javascript)
728x90
반응형
function solution(rows, columns, queries) {
var answer = [];
const map=Array(rows).fill(0).map((_,i)=>Array(columns).fill(0).map((_,j)=>i*columns+j+1));
for(let i=0;i<queries.length;i++){
const[y,x,yy,xx]=queries[i];
rotate(y-1,x-1,yy-1,xx-1,map,answer);
}
return answer;
}
function rotate(y,x,yy,xx,map,answer){
let cur=map[y][x];
let next;
let minimum=cur;
for(let j=x+1;j<=xx;j++){
next=map[y][j];
map[y][j]=cur;
cur=next;
if(minimum>cur)minimum=cur;
}
for(let i=y+1;i<=yy;i++){
next=map[i][xx];
map[i][xx]=cur;
cur=next;
if(minimum>cur)minimum=cur;
}
for(let j=xx-1;j>=x;j--){
next=map[yy][j];
map[yy][j]=cur;
cur=next;
if(minimum>cur)minimum=cur;
}
for(let i=yy-1;i>=y;i--){
next=map[i][x];
map[i][x]=cur;
cur=next;
if(minimum>cur)minimum=cur;
}
// console.log(map)
answer.push(minimum);
}
728x90
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 로또의 최고 순위와 최저 순위 (javascript) (0) | 2021.05.08 |
---|---|
[프로그래머스] n 개의 최소공배수 (javascript) (0) | 2021.04.30 |
[프로그래머스] 배달 (javascript) (0) | 2021.04.28 |
[프로그래머스] 점프와 순간 이동 (Javascript) (0) | 2021.04.28 |
[프로그래머스] 방문 길이 (javascript) (0) | 2021.04.24 |
TAGS.