[알고리즘] 다이아몬드 만들기
2021. 10. 7. 18:54ㆍ알고리즘/문제 풀이
728x90
2차원 배열에서 다이아몬드 형태로 데이터가 들어가는 것을 말합니다.
이러한 2차원 배열은 특징이 있는데요.
센터값을 기준으로 대칭이 일어나는 규칙을 갖고 있습니다.
형태는 다이아몬드뿐만 아니라 다양할 수 있는데요.
아래의 다이아몬드 형태의 예시에서는 행이 고정된 상태에서
열이 변화하면서 데이터가 들어가는 걸 알 수 있습니다.
행마다 데이터가 들어간 자리는 이와 같습니다.
보면 일정한 규칙이 있는데요.
행이 증가하면서 열의 시작값은 -1, 끝값은 +1씩 변화하다
가운데를 기준으로 반대부터는 시작값이 +1, 끝값은 -1씩 변화하는 걸 알 수 있습니다.
이를 활용한 알고리즘 문제의 순서도를 알아보겠습니다.
5행 5열의 2차원 배열에 다음과 같은 순서로 값이 저장될 때의 순서도입니다.
행에서의 반복 1, 5, 1을 거치면서
열에서의 반복을 진행합니다.
순서는
R = 1 , C = 3, 3, 1
R = 2 , C = 2, 4, 1
R = 3 , C = 1, 5, 1
R = 4 , C = 2, 4, 1
R = 5 , C = 3, 3, 1
'알고리즘 > 문제 풀이' 카테고리의 다른 글
[알고리즘] 90도 회전 (0) | 2021.10.08 |
---|---|
[알고리즘] ㄹ자 채우기 (0) | 2021.10.06 |
[알고리즘] 직각삼각형 만들기 (0) | 2021.09.27 |
[알고리즘] 에라토스테네스의 체를 이용해 소수 구하기(JAVA) (0) | 2021.09.24 |
[알고리즘] 분수 수열 덧셈 (0) | 2021.09.23 |