Notice
Recent Posts
Recent Comments
Link
beepbeep
LeetCode 48번 - Lotate Image 본문
문제
2차원 배열이 주어집니다. 주어진 2차원 배열을 시계방향으로 90도 회전시키세요.
단, 2차원 배열을 새로 만들지 않고 주어진 2차원 배열만 이용해서 회전시켜야 합니다.
살펴보기
2단계로 나누어서 풀 수 있습니다.
1단계
가상의 우하향 대각선을 배열에 그려주고, 대각선을 기준으로 양쪽 값을 바꿔줍니다.
2단계
배열의 가운데 열을 기준으로, 좌우 대칭되는 지점의 값을 바꿔줍니다.
시계방향으로 90도 돌아간 모습의 2차원 배열이 완성되었습니다.
이 과정을 코드로 옮겨주면 끝!
풀어보기
for(int i=0; i<matrix.length; i++){
for(int j=0; j<i; j++){
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
for(int i=0; i<matrix.length; i++){
for(int j=0; j<matrix[0].length/2; j++){
int temp = matrix[i][j];
matrix[i][j] = matrix[i][matrix[0].length-j-1];
matrix[i][matrix[0].length-j-1] = temp;
}
}
'코딩테스트 연습 > 기타' 카테고리의 다른 글
프로그래머스 콜라 문제 (0) | 2023.02.19 |
---|---|
약수 개수 세기 (0) | 2023.02.14 |
프로그래머스 치킨쿠폰 문제 - 나누기와 빼기의 반복 횟수 비교 (0) | 2023.02.07 |
프로그래머스 - 구슬을 나누는 경우의 수(feat. 조합) (0) | 2023.01.25 |
LeetCode 58번 - Length of Last Word (0) | 2023.01.20 |