출처 : UVa Online Judge [ http://uva.onlinejudge.org ]


알고리즘 구현 관련 문제에 관심은 있었지만, 지금까지는 제대로 시도한 적이 한 번도 없었는데...
이번에 모~ 회사의 실기 시험을 치르면서 흥미가 생겨서 한 번 풀어봤습니다.
( 사이트에서 작성한 코드에 대한 채점도 가능하더군요~ +_+ )

문제에서 요구하는 입/출력 방식을 감을 못잡아서~ 'Time Limit Exceed' 도 몇 번 보고~~
생각을 살~짝 잘못해서 'Wrong Answer' 도 보고 했지만.. 결국 'Accept' 에 성공했습니다~ : )

문제에 대해 간략한 설명을 하자면...

1. 검사할 범위에 해당하는 두 수(I, J 라고 가정)를 입력 받습니다..

2. I 부터 J 에 속하는 수들 중.. '3n + 1' 연산의 길이가 가장 긴 수를 출력합니다.

3. '3n + 1' 연산의 길이는 수(N)가 홀수인 경우는 3N + 1, 홀수가 아닌 경우는 N / 2 의 연산을 하면서~
    '1' 이 나올 때 까지 연산한 횟수를 말합니다.
     ex) 6 => 6 3 10 5 16 8 4 2 1 [ 길이 : 9 ]
           7 => 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 [ 길이 : 17 ]

4. 출력은 1. 에서 입력받은 두 수와 2. 의 '3n + 1' 연산의 길이가 가장 긴 수를 같이 출력합니다.

   [ 입력값 예시 ]
   1 10
   100 200

   [ 출력값 예시 ]
   1 10 20
   100 200 125


다음은 최종적으로 'Accept' 받은 코드입니다~ : )



이번에 모 회사의 실기 시험 문제를 풀면서~ 문제 해결 능력 및 자료구조/알고리즘에 많이 취약하구나 느꼈습니다..;;

앞으로 요런 부분을 꾸준히 보완해 나가야겠다는 반성을 살포시 해봅니다..^^;;



YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. BlogIcon 죠스, 세상에 나오다 2010.04.05 20:17  댓글주소  수정/삭제  댓글쓰기

    헛... 정보학급 과제 중 하난데... 답이 궁금하지만 보면 안되겠군요-_ㅠㅋㅋ

    • BlogIcon XeroNic(HS) 2010.04.05 21:36 신고  댓글주소  수정/삭제

      앗..ㅋ 과제에 이 문제가 있는건가요..? ^^;;;
      댓글을 보니~ 과제에 대한 정보를 찾을 때~~
      정보가 너무 없어도 난감하지만...
      여기저기 답들이 막 보여도 난감하던 기억이 나네요~