본문 바로가기
Study/Algorithm_정보처리기사

[정보처리기사][알고리즘][배열] 달팽이 배열 만들기

by 푸민 2015. 8. 21.
반응형



Q. 5행 5열의 배열에 달팽이와 같이 기억시키는 순서도를 작성하시오.

1. 5행 5열의 2차원 배열 A를 선언한다.

 

2. K는 1씩 누적되며 증가하는 변수이므로 0으로 초기화한다.

 

3. C를 초기화한다. 처음에 행과 열이 증가해야할지 감소해야할지 생각해본다.

 

4. 행 위치를 1부터 지정하기 위해 i를 1로 초기화한다.

 

5. 열 위치를 나타내는 J는 J=J+C를 수핸한 후 1이되도록 0으로 초기화한다.

 

6. 반복문의 반복횟수를 지정한다. 첫번째 만나는 반복문은 몇 번 반복해야 하는지를 생각한다.

 

7. 첫번째 반복문은 행이 고정된 상태에서 수행 횟수만큼 열이 증가 또는 감소하면서 숫자를 저장한다.

 

1) K를 1에서 25까지 증가시키기 위해 1을 더한다.

 

2) 열 위치의 증가 또는 감소 여부를 지정하는 C를 J에 누적한다. C가 1이면 열위치를 증가시키고, -1이면 감소시킨다.

 

3) A배열의 i행 J열에 K를 저장한다.

 

8. 반복이 끝나면 수행 횟수를 감소시킨다. 수행 횟수는 5~1까지 변한다.

 

9. 수행 횟수 F가 0보다 크면 다음 작업을 위해 Yes로 가고 아니면 출력을 위해 No로 간다.

 

1) No일 경우, 배열에 저장된 내용을 출력하고 끝낸다.

 

2) Yes일 경우, 두번째 반복문을 실행한다. 두번째 반복문은 열이 고정된 상태에서 수행횟수만큼 행이 증가 또는 감소되면서 숫자를 저장한다.

 

A. K를 1에서 25까지 증가시키기 위해 1을 더한다.

 

B. 행 위치의 증가 또는 감소 여부를 지정하는 C를 i에 누적한다. C가 1이면 행 위치가 증가하고, -1이면 감소한다.

 

C. A배열의 i행 J열에 K를 저장한다.

 

10. 반복이 끝나면, 배열의 행과 열이 증가와 감소를 번갈아 가며 수행하도록 처리한다. -1에 -1을 곱하면 +1이 된다는 것을 생각한다. 그리고 7번으로 간다.

 

해당 글은 제가 만든 어플을 기준으로 작성하였습니다.

더 많은 정보는 알고리즘 어플을 이용해주세요.

반응형

댓글