c언어/BAEKJOON
c언어 10823번 더하기 2 (백준)
rofn123
2022. 6. 4. 14:41
#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