알고리즘 문제풀기/인프런 강의 정답

6. 숫자만 추출 (문자열 컨트롤 : 아마존 인터뷰)[코드구현력 기르기]

코다람쥐 2022. 3. 10. 13:21

나의정답.

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>

using namespace std;

int main(int argc, char** argv) {

	//freopen("input.txt", "rt", stdin);
	
	char input[50];
	int arr[9];
	int arrCount = 0;
	int divisor = 0;
	int divisorCount = 0;
	int i = 0;
	
	while(true){
		scanf("%c", &input[i]);
		if(input[i] >= 48 && input[i] <= 57){
			arr[arrCount] = input[i] - 48;
			arrCount++;
		}
		
		if(input[i] == 10) break;
		i++;
	}
	
	for(int i = 0 ; i < arrCount; i++){
		for(int j = i ; j < arrCount - 1 ; j++){		
			arr[i] *= 10;
		}
		divisor += arr[i];
	}
	
	for(int i = 1; i <= divisor; i++){
		if(divisor % i == 0){
			divisorCount++;
		}
	}
	
	printf("%d\n", divisor);
	printf("%d", divisorCount);
}