책 내용 질문하기
이 문제가 이해가 안되요!
도서
2017 시나공 정보처리기능사 실기
페이지
223
조회수
108
작성일
2016-10-23
작성자
첨부파일

정보처리기능사 2017 P233 문제에서

2번 빈칸에서 왜 M을 10으로 나눈 나머지를 K에 치환하는거죠..?

3번 빈칸에서 M을 10으로 나눈 다음 그 몫을 다시 M에 치환한다. 이미 변환한 맨 마지막 자리를 제거하기 위해서이다. 1234는 123이 된다. 라고 적혀있는데 좀 더 쉽게 설명 해주실수 있나요..?

그리고 전체적인 해설 해주시면 감사하겠습니다.

ㅠㅠ

답변
2016-10-24 09:34:39

안녕하세요.

1234가 입력되면 1,234와 같이 천 단위마다 쉼표(,)를 포함해서 출력하는 알고리즘입니다.

또한 입력된 값을 뒤에서부터 한 자리씩 배열에 저장한 후 천 단위 부분에는 쉼표(,)를 저장합니다.

매 작업 횟수를 4로 나눈 나머지가 0인 경우 그 자리가 천 단위 부분이므로 쉼표(,)를 저장합니다.

이는 직접 디버깅을 수행해 보면 좀 더 쉽게 확인이 됩니다.

또한 입력된 값은 10으로 나눈 나머지를 배열에 저장하면 뒤에서부터 저장이 됩니다. 그런 다음 거꾸로 출력을 하게 되는 것이죠.

M에 1234가 입력된 경우

맨 처음 1234를 10으로 나눈 나머지(%)를 K에 저장합니다. K는 4가 됩니다.

S(i), 즉 S(0)에 A(K), 즉 A(4)를 저장합니다. 앞서 A(4)에는 4가 저장되어 있습니다. A(0)=0, A(1)=1

그런 다음 나머지 4를 제외한 값을 다시 10으로 나눠야 하므로

1234를 10으로 나눈 몫을 다음 나눠질 값인 M에 저장합니다. 이 부분이 M=M/10입니다.

이어서 i를 증가한 후 작업을 반복합니다.

이렇게 작업이 진행되면

S(0)에는 4, S(1)에는 3, S(2)에는 2, S(3)에는 쉼표(,), S(4)에는 1이 저장됩니다.

그러면 M은 0이되고

i값을 -1씩 감소시키면서 S(4) ~ S(0)까지 출력을 하면 1,234 가 출력되게 됩니다.

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

  • *
    2016-10-24 09:34:39

    안녕하세요.

    1234가 입력되면 1,234와 같이 천 단위마다 쉼표(,)를 포함해서 출력하는 알고리즘입니다.

    또한 입력된 값을 뒤에서부터 한 자리씩 배열에 저장한 후 천 단위 부분에는 쉼표(,)를 저장합니다.

    매 작업 횟수를 4로 나눈 나머지가 0인 경우 그 자리가 천 단위 부분이므로 쉼표(,)를 저장합니다.

    이는 직접 디버깅을 수행해 보면 좀 더 쉽게 확인이 됩니다.

    또한 입력된 값은 10으로 나눈 나머지를 배열에 저장하면 뒤에서부터 저장이 됩니다. 그런 다음 거꾸로 출력을 하게 되는 것이죠.

    M에 1234가 입력된 경우

    맨 처음 1234를 10으로 나눈 나머지(%)를 K에 저장합니다. K는 4가 됩니다.

    S(i), 즉 S(0)에 A(K), 즉 A(4)를 저장합니다. 앞서 A(4)에는 4가 저장되어 있습니다. A(0)=0, A(1)=1

    그런 다음 나머지 4를 제외한 값을 다시 10으로 나눠야 하므로

    1234를 10으로 나눈 몫을 다음 나눠질 값인 M에 저장합니다. 이 부분이 M=M/10입니다.

    이어서 i를 증가한 후 작업을 반복합니다.

    이렇게 작업이 진행되면

    S(0)에는 4, S(1)에는 3, S(2)에는 2, S(3)에는 쉼표(,), S(4)에는 1이 저장됩니다.

    그러면 M은 0이되고

    i값을 -1씩 감소시키면서 S(4) ~ S(0)까지 출력을 하면 1,234 가 출력되게 됩니다.

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

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