[swat] 삼성 코딩테스트 기출문제 유형 - 수강신청

두비니

·

2020. 11. 30. 05:55

 

 

 

#include <stdio.h>

#define MAX_NUM 1000000

int main(){
	int N, B, C;
	scanf("%d", &N);
    
	if (N < 1 || N >MAX_NUM) {
		printf("INPUT ERROR\n");
		return 0;
	}
    
	int *Ai = malloc(sizeof(int)*N);
    
	for (int i = 0; i < N; i++) {
		scanf("%d ", &Ai[i]);
	}
	scanf("%d %d", &B, &C);

	int sum = 0;
	for (int i = 0; i < N; i++) {
		int num = Ai[i];

		if ((num -= B) > 0) {
			sum++;
			//조교투입
			for (; num > 0; num -= C) {
				sum++;
			}
		}
		else {
			sum++;
		}
	}
	printf("%d", sum);
	return 0;
}

 

 

아이디어는 간단합니다.

 

1. 교수님 한분께서 감당이 가능하신가?

2. 조교가 필요하다면 몇명이 필요한가?

 

추가로 봐야 할 점은

 

1. Ai[1000000]은 선언시 메모리 부족으로 프로그램이 종료되는데 어떻게 해결할 것인가?

정도인 것 같습니다.

 

끝!