/ 정보처리기사 2014년 2회 실기 이차원배열 회전 비슷한문제 풀이.
본문 바로가기
정보처리기사

정보처리기사 2014년 2회 실기 이차원배열 회전 비슷한문제 풀이.

by 문용민 2017. 12. 6.
반응형

 

문제를 풀어보겠다.

1. 젤 위 반복문 행이 무엇이고 열이 무엇인지 파악한다. P(X,Y)이므로 행은 X 열은 Y가 되겠다.

   

     첫  2  4  6   8 10

        12 14 16 18 20

        22 24 26 28 30

        32 34 36 38 40 

        42 44 46 48 50            을 만들기위해 만들어짐.

                           

 

 

2. 배열안의 값이 몇씩증가하는지 파악한다. 2 4 6 8 10 12 14 16 18 20 등등 2씩증가한다.

   그렇다면? 변수를보자 H=0 L=0이다 그렇다면 변수가 L과 H로 되어있기 때문에

    L=L+2 나 H=H+2 가 1번답일것이다.

   그러나 P(X,Y)=H라고되어있다. 그러므로 처리조건은 H로 처리해야된다 1번답 H=H+2

 

 

3. X=2, 1 -1 이 무슨의미인지 파악한다. 일단 문제를 크게본다. 이문제는 회전을 하라는 문제이다.

   그렇다면 회전을 하는 반복문도 하나만들어줘야한다 여기서 X는 행의 X가아니라 회전을 2번하 는  X이다. 즉 P(5,5) -> Q(5,5) 1번 Q(5,5) -> P(5,5) 2번 반복함.

 

 

4. 2번 문제를본다. 일단 H를보면 H는 안에서 반복되는걸 보니 열인걸로알수있다. 보통 바깥족 반복문은 행 안쪽반복문은 열이다. 그러므로 2번 (    ) 는 행 이라고 알수 있을것이다.

(1)(1) 12 13 14 15           2   4   6  8  10        

21 (2)(2) 23 24 25           12 14 16 18 20

31 32 (3)(3) 34 35           22 24 26 28 30          을보면 행쪽 열쪽 모두다 1씩증가하는걸 볼수있다 

41 42 43 (4)(4) 45           32 34 36 38 40          예를들어 가로를 쳐보겟다. 보이는가 그러므로

51 52 53 54 (5)(5)           42 44 46 58 50          ( ) = 1, 5, 1 로할수있다.

그러면 답은 두가지중 하나일 것이다. L=1, 5, 1 이나 Y=1, 5, 1 일것이다.일단 재끼고 다음것을 풀어보자.

 

 

5. 3번은 일단 재끼고 5번을 보자. 5번을보면 (  ) = P(L,Y) 로 나와있다.

   문제를 보면 P(5.5) -> Q(5.5) -> P(5.5) 라고 되어있다. 그러므로 P->Q이고 Q->P 이다.

  그래서 답을보면 5번답은Q(   ,  ) 가 되겠다. 그럼이제 답을 어케 찾지? 자 회전의 팁을 알려주겟다

   회전의 팁은 여기서나타난다. (  ) =P(L,Y)가 나타난다. 여기서 열쪽에 있는 Y가 행쪽으로 넘어간다

   즉 Q(Y, ) 가되겠다. 그럼 이제 답을 다구햇다. 위에반복문을 보면 어차피 순서대로 값을 입력하는

   것이기 때문에 H가 열이다.

   왜냐면 P->Q로넘어갈때 값을 Q가 받는 값이 순서대로

   11 12 13 14 15     

   21 22 23 24 25

   31 32 33 34 35    

   41 42 43 44 45                      

   51 52 53 54 55     로 가로부터 차례대로 값을 이어나간다                                                         .

  5번답은 Q(Y,H) 가 되겟다.

  그럼 4번답도 똑같다. ( ) = Q(L,Y) 라고 나타나있으므로 P(Y,H)=Q(L,Y) 이다.

 P(Y,H)는 최종 결과 값이기때문에 반복문은 행Y 열H 이 맞다. 

 

6. 그럼 2번의 답도 행이 Y이기떄문에 Y=1, 5, 1 이 되겠다. 

 

7. 이제 3번을 풀어보자 숨 한번고르고 처음부터 다시 문제를 훑어본다. 어라? L=0이라고 선택해줫는데 처리하는 문장이 없네? 그렇다 L=0 이라는 변수선언만하고 처리조건이 없다.

그러므로 3번은 L=(    ) 일것이다. 자 봅시다~ 이건 회전문제 이기떄문에~

P(5,5) - > Q(5,5) 로 가는 과정을 봅시다.

P(5,5)의 세로로된  42 32 22 12 2 을 보면 Q(5,5)는 가로로 42 32 22 12 2으로 구한걸 알수있다.

 

여기서 보면

P(5,5)인 P(L,Y)의 세로로된 42 32 22 12 2   자리에 행열로보면   (5)1 (4)1 (3)1 (2)1 (1)1 일 것이다.

Q(5,5)의 Q(Y,H)의 가로로된 42 32 22 12 2    자리에 행열로보면  1(1) 1(2) 1(3) 1(4) 1(5) 일 것이다.

 

5번답을보면 Q(Y,H)=P(L,Y)라고 답을 우린 알고있다.

그렇다면 P(L,Y)이기때문에 여기서 Y는 열이고 처음값은 1이기 때문에 5번 1로 고정이다.

그럼 L은? 그렇다 P의 행인 L은 열을 반복 할때마다 5 4 3 2 1 일것다. 즉 5에서 1씩 빼는걸 알수있다.

그렇다. 그럼 답은 L=5-1 이 될 수 있나? 정답은 노다. 5 4 3 2 1 -1씩 값이 변한다. 그래서 상수는 올수 없다. 그럼? 그렇다. L=6-열 해주면된다 어째서? 열은 1, 5 1이라 5번 반복 할 것이다. 그럼 6-1 6-2 6-3 6-4 6-5 보아라 5 4 3 2 1 이된다. 그렇기에 답인 L=6-H가 된다.

 

자그럼 답을 다 구했다.

1번:  H= H+2

2번 : Y=1,5,1

3번 : L=6-H

4번 : P(Y,H)

5번 : Q(Y,H)

 

 정보처리기사에서 중요한것은 일단 어떻게 흘러가는지 흐름을 파악하고 변수가 어떤식으로 쓰이는지 확인하고 문제를 크게크게보아야한다. 그리고 젤중요한것은 디버깅을 확실히 하여야한다. 그리고

시험볼떄 보기는 40문제이다. 답이 아닌거 같은것을 하나하나 지워가면서 답을 찾는게 좋다. 그리고

시험시간은 2시간30분이니까 길다. 답이안나온다고 포기하지말고 최선을 다해서 문제풀이를 해보길 바란다. 문제의 흐름을 알고 디버깅만 잘해도 80점은 먹고가는게 알고리즘 인거 같다.

반응형

'정보처리기사' 카테고리의 다른 글

정보처리기사 실기 가채점합격~  (0) 2017.12.06

댓글