Transparent White Star

[백준/C] 10773번: 제로

     

    재민아 정신차려!

    0!!

    ...

     

    처음에 문제를 읽고 최근 수를 지우는 건 문자를 저장하지 않는 것과 똑같다고 생각해서 tmp 변수를 만들고 k번 반복되는 for문 안에 tmp!=0이라면 k 배열에 저장하지 않는 조건으로 써줬어요

     

    근데 생각해보니까 이러면  0을 입력하면 배열에 입력이 안 되잖아요..

    그래서 순서대로 배열에 저장되는 게 아니더라고요

    심지어 0이 아니면 저장했으니까 0을 입력했다고 지워지지도 않음

     

    어떻게 하면 좋을지 고민하다가

    인덱스에 num 변수를 넣어서 증감식을 추가해주면 깔끔하게 될 것 같아서 

    num 변수를 0으로 초기화해서 인덱스 자리에 넣어줬어요

    그랬더니?

    출력초과 이슈...

     

    근데 다시 보니까 제가 확인용으로 넣어둔 출력문구가 남아있었더라고요

    그거 지우고 제출하니까 성공했습니다

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main() {
        int k, arr[100000], tmp, sum = 0, num = 0;
        scanf("%d", &k);
    
        for (int i = 0; i < k; i++) {
            scanf("%d", &tmp);
            if (tmp != 0) {
                arr[num] = tmp;
                num++;
            }
            else {
                num--;
            }  
        }
    
        for (int i = 0; i < num; i++) {
            sum += arr[i];
        }
        printf("%d", sum);
    
        return 0;
    }

    사실 사이에 많은 고민이 있었는데

    깔끔하게 풀려서 기분이 좋습니다.

     

    요즘에 비도 오고 그래서인지 자꾸 예민해지고 기분도 다운되네요

    장마가 끝날 때까지 모두 파이팅

     

     

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

    기코문제옮기기  (0) 2024.07.12
    [백준/C] 2839번: 설탕 배달  (0) 2024.07.10
    [백준/C] 1546번: 평균  (0) 2024.07.08
    [백준/C] 25304번: 영수증  (0) 2024.07.07
    [백준/C] 8393번: 합  (0) 2024.07.07

    댓글