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

댓글