프로그래밍/알고리즘 풀이
[수학] 제로 (10773번)
카카수(kakasoo)
2020. 3. 4. 13:31
반응형
문제가, 솔직히 알고리즘이라고 하기도 애매한 것들 (정의로는 물론 다 알고리즘이겠지만),
그런 것들은 그냥 다 분류를 '수학'이라고 해버리는 감이...
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
32
33
34
35
|
#include <iostream>
using namespace std;
int arr[100000];
int main(void)
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
int temp;
cin >> temp;
if (temp == 0)
{
i--;
arr[i] = 0;
i--;
n--;
n--;
}
else
{
arr[i] = temp;
}
}
int sum = 0;
for (int i = 0; i < n; i++)
sum += arr[i];
cout << sum;
}
|
0 인 경우에는 i--를 해서 이전 index를 가리키게 하고, 해당 값을 0으로 초기화해준다.
그 다음에 다시 i--를 해서 커서를 이전으로 옮긴다 (그래야 반복문이 다시 i++ 해줘서 원 위치로 온다.)
n--를 두 번 해주는 이유는, 썼다가 (1번) 지우기(1번)로 인해 2번의 입력 기회가 사라지기 때문이다.
반응형