본문 바로가기

CodingTest Exam/[C++] Algorithm Study

6. 숫자만 추출 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆

#include<stdio.h>

int main(){
	char a[50]; // 문자열 선언
	scanf("%s", &a); // 입력을 string으로 받고 문자열 a에 저장
	
	int result = 0;
	int count = 0;
    
    // 숫자를 만나면 기존 숫자값을 한 자리 수 위로 보내고 그 숫자를 저장
	for(int i = 0; a[i] != '\0'; i++) // '\0' 은 배열에서 null 을 나타낸다.
	{
		if(a[i] >= 48 && a[i] <= 57)
			result = result * 10 + a[i] - '0';
	}
	
	for(int i = 1; i <= result; i++)
	{
		if(result % i == 0)
			count++;
	}
		
	printf("%d", result);
	printf("%d\n", count);
	return 0;
}

1. a[i] != '\0'

'\0'은 배열에서 입력의 끝을 의미한다. 즉 null을 반환하기 때문에 a[i] != '\0'은 입력의 끝이 아닌지를 확인하는 것이다.