[알고리즘] 90도 회전
2021. 10. 8. 20:10ㆍ알고리즘/문제 풀이
728x90
A, B 두 개의 2차원 배열이 있을 때 A배열에서 90도를 회전시킨 값이 B배열입니다.
A배열은 행이 고정된 상태에서 열이 변화하는 형태이고
B배열은 열이 고정된 상태에서 행이 변화하는 형태인데요.
데이터의 위치를 보면 유사한 공통점을 찾을 수 있습니다.
A(1, 1) → B(1, 5)
A(1, 2) → B(2, 5)
A(1, 3) → B(3, 5)
A(1, 4) → B(4, 5)
A(1, 5) → B(5, 5)
A(2, 1) → B(1, 4)
A(2, 2) → B(2, 4)
A(2, 3) → B(3, 4)
A(2, 4) → B(4, 4)
A(2, 5) → B(5, 4)
순으로 반복되는 걸 알 수 있는데요.
A배열의 열에 사용된 값이 B배열의 행으로 사용되고
6에서 A배열의 행값을 빼면 B배열의 열값이 나오게 됩니다.
A배열의 행을 R, 열의 C라는 변수로 선언했을 때
이를 식으로 나타내면
B(C, 6-R) = A(R, C)
가 됩니다.
이를 응용한 순서도를 알아보겠습니다.
5행 5열의 A배열에 아래와 같은 데이터를 입력한 뒤
90도 회전시킨 결과를 B배열에 저장하는 순서도입니다.
'알고리즘 > 문제 풀이' 카테고리의 다른 글
[알고리즘] 다이아몬드 만들기 (0) | 2021.10.07 |
---|---|
[알고리즘] ㄹ자 채우기 (0) | 2021.10.06 |
[알고리즘] 직각삼각형 만들기 (0) | 2021.09.27 |
[알고리즘] 에라토스테네스의 체를 이용해 소수 구하기(JAVA) (0) | 2021.09.24 |
[알고리즘] 분수 수열 덧셈 (0) | 2021.09.23 |