책 내용 질문하기
안녕하세요 알고리즘 관련 질문이 있습니다.
도서
[2008] 정보처리기능사 실기
페이지
조회수
141
작성일
2011-08-14
작성자
첨부파일

제가 프리미엄존에서 2009년 기출과 2010년 기출을 다운받았어요.

08년도 버젼으로 공부하다보니.. 요즘 추세에 대해 궁금하기도 하고, 정보도 없고해서요.

그래서 풀다보니 ,

2010년 3월 출제 문제 - 정수로 입력된 숫자를 문자로 변환하여 출력하는 순서도.

이 문제에서 자꾸 막히는느낌입니다.

K = M%10

S(i) = A(K)

M= M/10

이부분을 이해를 못하겠네요.

답변
2011-08-16 10:19:05

안녕하세요.

1234가 입력된 경우 1,234로 출력하는 알고리즘입니다. 즉 천단위 마다 콤마(,)를 표시하는 것이죠.

M을 4로 나눠 나머지가 0인 경우가 콤마(,)가 표시될 위치가 됩니다.

하지만 시작부터 나머지가 0이라서 배열의 첫번째 위치에 콤마(,)가 기억됩니다.

배열의 위치는 0부터 시작합니다. 여기서 중요한 함정이 있죠.

1234가 입력되었다면 뒤에서부터 처리를 시작해 배열에

,432,1이 기억됩니다.

그리고 나서 출력을 할때는 배열의 위치가 뒤에서부터 1이 될때까지 출력을 합니다.

즉 1,234까지만 출력을 하고 마지막의 콤마(,)는 출력하지 않습니다. 배열의 위치가 0이 아니라 1일때까지만 출력을 하니까요.

결국 첫번째 콤마(,)가 저장되는 것은 의미적으로 저장하는 것으로 출력에서는 제외됩니다.

위 내용을 염두에 두고 다시한번 디버깅을 수행해 보세요.

그래도 잘 이해되지 않으시면, 문제의 전체적인 흐름을 설명드려야 하는데, 서면보다는 전화를 설명드리는 것이 빠르고 효과적일 것 같습니다.
전화(02-323-0922) 주시면 자세하게 설명드리겠습니다.

오늘도 즐거운 하루 되세요.

"
  • *
    2011-08-16 10:19:05

    안녕하세요.

    1234가 입력된 경우 1,234로 출력하는 알고리즘입니다. 즉 천단위 마다 콤마(,)를 표시하는 것이죠.

    M을 4로 나눠 나머지가 0인 경우가 콤마(,)가 표시될 위치가 됩니다.

    하지만 시작부터 나머지가 0이라서 배열의 첫번째 위치에 콤마(,)가 기억됩니다.

    배열의 위치는 0부터 시작합니다. 여기서 중요한 함정이 있죠.

    1234가 입력되었다면 뒤에서부터 처리를 시작해 배열에

    ,432,1이 기억됩니다.

    그리고 나서 출력을 할때는 배열의 위치가 뒤에서부터 1이 될때까지 출력을 합니다.

    즉 1,234까지만 출력을 하고 마지막의 콤마(,)는 출력하지 않습니다. 배열의 위치가 0이 아니라 1일때까지만 출력을 하니까요.

    결국 첫번째 콤마(,)가 저장되는 것은 의미적으로 저장하는 것으로 출력에서는 제외됩니다.

    위 내용을 염두에 두고 다시한번 디버깅을 수행해 보세요.

    그래도 잘 이해되지 않으시면, 문제의 전체적인 흐름을 설명드려야 하는데, 서면보다는 전화를 설명드리는 것이 빠르고 효과적일 것 같습니다.
    전화(02-323-0922) 주시면 자세하게 설명드리겠습니다.

    오늘도 즐거운 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.