제시된 아래의 <그림>은 화폐의 매수를 구하기 위한 알고리즘이다.
<그림>의 괄호 안 내용에 가장 적합한 항목을 <답항 보기>에서 선택하여 해당 번호 (1)~(5)에 마크하시오.
<처리조건>
- 화폐는 고액을 우선으로 하고 나머지는 단위 화폐 순으로 한다.
- 화폐는 10,000원, 5,000원, 1,000원, 500원, 100원, 50원, 10원, 1원 총 9가지 종류이다.
- 입력 데이터는 성명과 출장비 지급액이며, 개인별 각 화폐 매수로 하며, 마지막에 전체 화폐 매수를 출력한다.
- 본 문제에서 “/” 연산자는 나누기 연산의 목을 구하는 연산자로 정의한다. 즉, 나누기 연산을 행하여 소수점 이하 발생시는 소수점 이하는 버림으로 처리한다.
Ex) 8/4의 결과 값은 2이고, 5/2의 결과 값은 2이고, 3/5의 결과 값은 0이다.
- 사용하는 변수는 다음과 같다.
PM(9) : 개인별로 지급되는 출장비 지급액에 대한 화폐 단위별 매수를 기억할 변수로 PM(1)에는 10,000원의 매수, PM(2)에는 5,000원의 매수 … PM(9)에는 1원의 매수 순으로 저장된다.
TM(9): 각 화폐 단위별 전체 화폐 매수를 기억할 배열로 TM(1)에는 10,000원의 매수, TM(2)에는 5,000원의 매수 … TM(9)에는 1원의 매수 순으로 저장한다.
N: 성명을 기억할 변수
P: 개인별로 지급되는 출장비지급액을 기억할 변수
T: 화폐 단위별로 화폐 매수로 계산할 금액(남은 금액)을 기억할 변수
M: 화폐 단위를 기억할 변수
SW: 화폐 단위 구분을 위한 변수로써 화폐 단위가 10,000원, 1,000원, 100원, 1원인지, 5,000원, 500원, 50원, 5원인지를 구분하기 위해 변수로 0 또는 1을 가진다.
K: 매수를 계산하거나 출력할 때 사용될 배열의 첨자
- 배열의 크기가 n일 경우 배열의 요소는 1부터 n까지이다.
Ex) A배열이 10이면 A(10)으로 표시, 구성 배열 요소는 A(1)부터 A(10)로 구성
- 반복문 설명
예를 들어 변수 a에 대하여 반복 “a=1, 50, 1”의 의미는 a의 초기값을 1, 최종값을 50, 증가치 값이 1로써 즉, a값이 1부터 50까지 1씩 증가하면서 해당 반복문내의 로직을 수행한다.
프로그램 실행 예시는 다음과 같다.
<입력 조건>
임철식 537620
양동수 538973
이동훈 173105
QUIT
<출력 조건>
출력 시 제목 부분을 다음 <출력 양식>과 같이 1, 2 라인의 밑줄 부분이며, 소제목은 6라인의 밑줄 부분을 의미한다.
<출력양식>
'정보처리기사 > 알고리즘' 카테고리의 다른 글
[09년] 구구단 (0) | 2017.08.02 |
---|---|
[07년1회] 자신을 제외한 약수의 합 (0) | 2017.08.02 |
[08년6월](77*1)+(76*2)+(75*3)+(74*5)+…+(2*76)+(1*77) (0) | 2017.08.02 |
[09년1월] A와 B사이 자연수 합계 (0) | 2017.08.02 |
[06년2회] 5행5열 달팽이모양 배열 (0) | 2017.08.02 |