[프로그래머스] 행렬 테두리 회전하기 - Java(자바)
·
자바/코딩테스트
문제 이해rows x , columns y 의 행을 가지고 있는 행렬이 있다.queries 배열에는 (x1,y1,x2,y2) 의 좌표값을 가지고 있는데 해당 좌표 (x1,y1) 에서 (x2,y2) 범위를 지정하여 테두리 영역만 시계방향으로 한번 회전 시킨다.queries 배열에 있는 만큼 회전을 반복한다.회전 할때마다 나오는 최소값들을 배열에 담아서 나타내라.소용돌이 문제로 인식하여 좌표범위의 영역을 상,하,좌,우 방향으로 회전시키면서 배열에 저장시켰다.시계방향으로 회전하면서 이전 좌표의 값을 한칸씩 옮겨야하는데 현재 배열을 그대로 사용하면 이전 좌표값의 값을 알수 없기에 copyArr 배열을 준비하여 소용돌이를 도는동안 copyArr 배열의 값으로 이전 좌표값을 알아낼수 있다.소용돌이가 한바퀴 완료하면..
[프로그래머스] 삼각 달팽이 - Java(자바)
·
자바/코딩테스트
1 0 0 0 2 9 0 0 3 10 8 0 4 5 6 7 문제 이해 소용돌이 문제와 유사하다. 실제로는 2차원 배열로 넣었을때 위와 같은 모양을 띈다. x 증가 -> x의 끝 도달 -> y 증가 -> y의 끝 도달 -> x 감소 y 감소 이런식의 반복이 이루어진다. bfs 방식으로 방문했는지 안했는지를 값이 0이냐 아니냐로 비교하였다. 방문여부 || x, y 좌표의 위치에 따라 dir값 (0 - 왼쪽 대각선 아래, 1 - 오른쪽, 2 - 왼쪽 대각선 위) 세팅해준다. 배열의 총 개수는 순차수열로 생성하였고 배열의 개수만큼 num이 증가하면 while문을 나오게 만들었다. import java.util.*; class Solution { public int[] solution(int n) { int[][..
대전집주인
'소용돌이' 태그의 글 목록