책 내용 질문하기
예상문제 질문
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
459
조회수
107
작성일
2018-06-28
작성자
탈퇴*원
첨부파일

1번 답이 J != 0이 될 수 없나요?

마지막 계산 다하고 나면 J = 0 i = 0.5가 되는데

답이 i>1 일 경우 i는 0.5니까 NO가 성립되서 종료되고

J != 0 경우에도 NO가 되서 종료 되지 않나요? 돈이 - 일리도 없고 헷갈리네요

2018년 정보처리기사 1회 실기 문제중에 5번 스택문제에 4번답이 top- 인데 -top과 차이가 있나요?

답변
2018-06-28 09:56:26

안녕하세요.

1)

i는 50000으로 초기화됩니다.

SW는 0으로 초기화됩니다.

J에 화폐매수를 계산할 금액을 입력받습니다.

반복적으로 처리가 되는 구간의 시작입니다.

[50000]원에 대한 화폐 매수를 계산하고

i, K 즉 50000원 화폐 단위와 매수를 출력합니다.

i>1이 Yes이므로

화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

SW가 0이므로

50000을 5로 나눈 10000을 i에 저장합니다.

SW에 1을 저장합니다.

[10000]원에 대한 화폐 매수를 계산하고

i, K 즉 10000원 화폐 단위와 매수를 출력합니다.

i>1이 Yes이므로

화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

SW가 1이므로

10000을 2로 나눈 5000을 i에 저장합니다.

SW에 0을 저장합니다.

[5000]원에 대한 화폐 매수를 계산하고

i, K 즉 5000원 화폐 단위와 매수를 출력합니다.

i>1이 Yes이므로

화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

SW가 0이므로

5000을 5로 나눈 1000을 i에 저장합니다.

SW에 1을 저장합니다.

[1000]원에 대한 화폐 매수를 계산하고

i, K 즉 1000원 화폐 단위와 매수를 출력합니다.

i>1이 Yes이므로

화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

SW가 1이므로

1000을 2로 나눈 500을 i에 저장합니다.

SW에 0을 저장합니다.

[500]원에 대한 화폐 매수를 계산하고

i, K 즉 500원 화폐 단위와 매수를 출력합니다.

i>1이 Yes이므로

화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

SW가 0이므로

500을 5로 나눈 100을 i에 저장합니다.

SW에 1을 저장합니다.

[100]원에 대한 화폐 매수를 계산하고

i, K 즉 100원 화폐 단위와 매수를 출력합니다.

i>1이 Yes이므로

화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

SW가 1이므로

100을 2로 나눈 50을 i에 저장합니다.

SW에 0을 저장합니다.

[50]원에 대한 화폐 매수를 계산하고

i, K 즉 50원 화폐 단위와 매수를 출력합니다.

i>1이 Yes이므로

화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

SW가 0이므로

50을 5로 나눈 10을 i에 저장합니다.

SW에 1을 저장합니다.

[10]원에 대한 화폐 매수를 계산하고

i, K 즉 10원 화폐 단위와 매수를 출력합니다.

i>1이 Yes이므로

화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

SW가 1이므로

10을 2로 나눈 5를 i에 저장합니다.

SW에 0을 저장합니다.

[5]원에 대한 화폐 매수를 계산하고

i, K 즉 5원 화폐 단위와 매수를 출력합니다.

i>1이 Yes이므로

화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

SW가 0이므로

5을 5로 나눈 1을 i에 저장합니다.

SW에 1을 저장합니다.

[1]원에 대한 화폐 매수를 계산하고

i, K 즉 1원 화폐 단위와 매수를 출력합니다.

i>1이 No이므로

종료합니다.

결국 i는 0.5까지 진행하지 않고 1인 상태에서 종료가 되게 됩니다.

2)

return stack[top--];

는 stack 배열의 현재 top 위치의 값을 반환한 후 top의 값을 1 감소하는데

return stack[--top];

는 stack 배열의 현재 top에서 우선 1을 감소한 위치의 값을 반환합니다.

그러므로 다른 결과가 산출됩니다.

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

  • *
    2018-06-28 09:56:26

    안녕하세요.

    1)

    i는 50000으로 초기화됩니다.

    SW는 0으로 초기화됩니다.

    J에 화폐매수를 계산할 금액을 입력받습니다.

    반복적으로 처리가 되는 구간의 시작입니다.

    [50000]원에 대한 화폐 매수를 계산하고

    i, K 즉 50000원 화폐 단위와 매수를 출력합니다.

    i>1이 Yes이므로

    화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

    SW가 0이므로

    50000을 5로 나눈 10000을 i에 저장합니다.

    SW에 1을 저장합니다.

    [10000]원에 대한 화폐 매수를 계산하고

    i, K 즉 10000원 화폐 단위와 매수를 출력합니다.

    i>1이 Yes이므로

    화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

    SW가 1이므로

    10000을 2로 나눈 5000을 i에 저장합니다.

    SW에 0을 저장합니다.

    [5000]원에 대한 화폐 매수를 계산하고

    i, K 즉 5000원 화폐 단위와 매수를 출력합니다.

    i>1이 Yes이므로

    화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

    SW가 0이므로

    5000을 5로 나눈 1000을 i에 저장합니다.

    SW에 1을 저장합니다.

    [1000]원에 대한 화폐 매수를 계산하고

    i, K 즉 1000원 화폐 단위와 매수를 출력합니다.

    i>1이 Yes이므로

    화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

    SW가 1이므로

    1000을 2로 나눈 500을 i에 저장합니다.

    SW에 0을 저장합니다.

    [500]원에 대한 화폐 매수를 계산하고

    i, K 즉 500원 화폐 단위와 매수를 출력합니다.

    i>1이 Yes이므로

    화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

    SW가 0이므로

    500을 5로 나눈 100을 i에 저장합니다.

    SW에 1을 저장합니다.

    [100]원에 대한 화폐 매수를 계산하고

    i, K 즉 100원 화폐 단위와 매수를 출력합니다.

    i>1이 Yes이므로

    화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

    SW가 1이므로

    100을 2로 나눈 50을 i에 저장합니다.

    SW에 0을 저장합니다.

    [50]원에 대한 화폐 매수를 계산하고

    i, K 즉 50원 화폐 단위와 매수를 출력합니다.

    i>1이 Yes이므로

    화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

    SW가 0이므로

    50을 5로 나눈 10을 i에 저장합니다.

    SW에 1을 저장합니다.

    [10]원에 대한 화폐 매수를 계산하고

    i, K 즉 10원 화폐 단위와 매수를 출력합니다.

    i>1이 Yes이므로

    화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

    SW가 1이므로

    10을 2로 나눈 5를 i에 저장합니다.

    SW에 0을 저장합니다.

    [5]원에 대한 화폐 매수를 계산하고

    i, K 즉 5원 화폐 단위와 매수를 출력합니다.

    i>1이 Yes이므로

    화폐 매수를 구한 금액을 뺀 나머지 금액을 J에 입력합니다.

    SW가 0이므로

    5을 5로 나눈 1을 i에 저장합니다.

    SW에 1을 저장합니다.

    [1]원에 대한 화폐 매수를 계산하고

    i, K 즉 1원 화폐 단위와 매수를 출력합니다.

    i>1이 No이므로

    종료합니다.

    결국 i는 0.5까지 진행하지 않고 1인 상태에서 종료가 되게 됩니다.

    2)

    return stack[top--];

    는 stack 배열의 현재 top 위치의 값을 반환한 후 top의 값을 1 감소하는데

    return stack[--top];

    는 stack 배열의 현재 top에서 우선 1을 감소한 위치의 값을 반환합니다.

    그러므로 다른 결과가 산출됩니다.

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

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