혜랑's STORY

[여름방학 4주차 C과제] 본문

2020 SISS 21기 활동/여름방학 C언어

[여름방학 4주차 C과제]

hyerang0125 2020. 8. 2. 13:52

#SWEA 1970 : 쉬운 거스름돈

SWEA 1970 문제

- 문제풀이

 거스름돈을 계산하기 위하여 화폐의 단위를 담은 배열 bill을 만들고, 잔돈을 담을 배열 change을 만들어 둔다. 배열을 이용하기 위하여 for문 안에서 돈(money)의 크기가 bill[0~7]보다 크다면 change[0~7]의 값에 1을 더해주고 bill[0~7]만큼을 뺀다. 이렇게 for문을 종료하게 되면 거스름 돈을 구할 수 있다.

- 코드

#include <stdio.h>

int main() {
	int T, money;
	int bill[8] = { 50000, 10000, 5000, 1000, 500, 100, 50, 10 };

	scanf_s("%d", &T);

	for (int i = 1; i <= T; i++) {
		int change[8] = {0,0,0,0,0,0,0,0};
		scanf_s("%d", &money);

		for (int j = 0; j < 8; j++) {
			while (money >= bill[j])
			{
				change[j] += 1;
				money -= bill[j];
			}
		}

		printf("#%d\n", i);
		for (int j = 0; j < 8; j++) {
			printf("%d ", change[j]);
		}
		printf("\n");
	}
    return 0;
}

- 실행결과

SWEA 1970 실행 결과

#1976 : 시각 덧셈

SWEA 1976 문제

- 문제풀이

시간을 모두 분으로 변환하여 더한 뒤 60으로 나눈 몫은 시간이고, 나머지는 분인 것을 이용하여 출력해준다.

- 코드

#include <stdio.h>

int main() {
	int T,h,m;
	scanf_s("%d", &T);

	for (int i = 1; i <= T; i++){
		int time[2], result;
		for (int j = 0; j < 2; j++) {
			scanf_s("%d %d", &h, &m);
			time[j] = h * 60 + m;
		}

		result = time[0] + time[1];

		printf("#%d %d %d\n", i, result / 60, result % 60);
	}

	return 0;
}

- 실행결과

'2020 SISS 21기 활동 > 여름방학 C언어' 카테고리의 다른 글

[여름방학 6주차 C과제]  (0) 2020.08.15
[여름방학 5주차 C과제]  (0) 2020.08.07
[여름방학 3주차 C과제]  (0) 2020.07.24
[여름방학 2주차 C과제]  (0) 2020.07.15
[여름방학 1주차 C과제]  (0) 2020.07.09