정보처리기사 실기문제 A배열 B배열로 옮기는 알고리즘 A(3,4) B(4,3) c언어 예제

사실 이 자료는 기존 구글블로그를 운영했을 당시에 올린 글을 다시 포스팅을 한 것입니다. 때문에 자료 생산년도는 사실 2015년도에 제작되었습니다.


정리하는 차원에서 다시 올리는것입니다. 오래전에 정보처리기사 실기 시험을 준비하면서 '알고리즘'과목을 연습하면서 직접 코딩을 한 내용입니다.


간단한 c언어 예제를 통해서 정보처리기사 알고리즘 실기시험에 대비하시기 바랍니다.

A배열 -> B배열로 옮기는 알고리즘

알고 계신분들도 있을테고, 아닌분들도 계실텐데요, 정보처리기사 실기문제에서 A배열에서 B배열로 옮기는 알고리즘은 2012년도 1회부터 출제가 되었습니다.


알고리즘은 단순히 외우는 과목이 아닌 이해하는 과목이기 때문에 순서도를 보면서 차근차근 개념파악부터 해야되는게 맞습니다.

[순서도]

순서도를 보면서 간단히 설명해보겠습니다. ROW=4, COL=3 은 A[4][3]을 나타냅니다. 4행3열인 것입니다.



이렇게 데이터가 insert 되게 됩니다. 화면 밑을 보면 반복문이 보이는데 배열에 데이터가 입력되고 있는 것입니다. 그래서 빈칸이었던 N=N+1 이 정답이 됩니다.



화면 오른쪽 반복문의 경우 A(4,3) -> B(3,4)로 옮기는 과정을 나타내고 있습니다. 변수 P는 행이고, Q는 열을 나타내고 있습니다.



중간 분기점 Q>=ROW 경우에는 배열B(P,Q) 에서 열 부분이 4까지 진행이 되었으면, 다시 행을 증가 시키기 위해서 분기점을 사용한 것입니다.

[C언어 예제]

지금은 오래된 프로그램일 수 있겠는데, 비쥬얼스튜디오(VC++6.0)으로 코딩 한 모습 입니다. 처음에는 어려울수 있겠지만 자주 보게되면 간단한 예제입니다.



알고리즘을 바탕으로 예제를 작성 하였으며, 설명은 주석을 통해 확인해보면 됩니다. 꼭 프로그램을 VC++6.0으로 하지 않아도 c 컴파일러 툴 중에 아무거나 사용하셔도 무방합니다.



마지막으로 결과 출력된 모습입니다.


2018년도에도 정보처리기사 준비를 하시는 분들의 합격을 기원합니다.