티스토리 뷰

 

#include <stdio.h>

int main(void)
{
	char tmp = 0;
	tmp = getchar();
	int sum = 0;
	int a = 0;
	int count = 0;
	
	while(1==1)
	{	
		if(tmp == '\n') { //\n이면, 새로운 줄을 입력받음
			tmp = getchar();
		} 
		
		if(tmp == EOF) { //파일 끝나면, 반복문 종료
			sum += a;
			break;
		}
		
		if(tmp == ',') { //,이 나오면 이전의 값을 누적
			sum += a;
			count = -1;
			a = 0;
		}
		
		if(count == 0) a = tmp-48;
		else { 
			a *= 10;
			a += tmp-48; 
		}
		count++;
		tmp = getchar();
	}
	printf("%d\n", sum);

	return 0;	
}

 

 

풀이 : 하나의 변수에다가, 숫자가 입력되면, 자릿수를 늘리면서 증가시키고 있다가 ',' 이 나오면 총합에 누적

 

'\n' 이 입력되면 새로운 한 줄을 입력 받는다.

 

EOF가 입력되면, 그전의 증가시키고 있던 값을 총합에 누적시키고, 반복문을 종료

 

 

https://www.acmicpc.net/problem/10823

 

10823번: 더하기 2

문자열 S가 여러 줄에 걸쳐서 주어진다. S의 길이는 최대 10,000이다. 포함되어있는 정수는 1,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함