본문 바로가기

백준

10773)제로

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


생각하기 넘 귀찮다. 쉬운 문제만 골라서 풀어야지.


문제 설명이 이해가 잘 안됬는데 힌트에 잘 설명해놨다.


문제가 이해가 되고 나서 든 생각은 이렇다.


입력 크기에 맞게 메모리 할당 받은 뒤 하나씩 입력받는다.


입력받은 수가 0이면 이전에 있던 수를 0으로 만들고 그 인덱스로 되돌아간다.


이 작업이 끝나면 0부터 마지막 인덱스까지 수를 다 더하고 출력한다.


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
#include<stdio.h>
 
int main(){
    int num;
    int *a;
    int j=-1;
    int  sum=0;
    
    scanf("%d",&num);
    a = (int *)malloc(sizeof(int)*num);
    
    for(int i=0; i<num; i++){
        j++;
        scanf("%d",(a+j));
        if(a[j]==0){
            a[j-1]=0;
            j-=2;
        }
    }
    
    for(int i=0;i<=j;i++) sum+=a[i];
    printf("%d",sum);
    
    return 0;
}
cs




'백준' 카테고리의 다른 글

4673)셀프 넘버  (0) 2019.01.12
2839)설탕 배달  (0) 2019.01.10
1476)날짜 계산  (0) 2019.01.08
10799)쇠막대기  (0) 2019.01.07
2941)크로아티아 알파벳  (0) 2019.01.06