• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

코드 한번 봐주시면 감사하겠습니다!

21.10.26 17:25 작성 조회수 113

0

#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;

int main() {
	double n, cnt = 1, res = INT_MIN;
	int answer = 0;
	cin >> n;
	vector<int> arr(n);

	for (int i = 0; i < n; i++) {
		cin >> arr[i];
		if (arr[i] == 0)
			cnt++;
		else {
			cnt /= 2;
			res = max(cnt, res);
			cnt = 0;
		}
	}

	if (cnt >res)answer = ceil(cnt);
	else answer = ceil(res);

	cout << answer;
	return 0;
}

이런식으로 코드를 짜봤는데 테스트를 돌렸을 때 다 맞긴 합니다만 혹시 시간 효율성으로 봤을 때 좋지 않은 코드인가요?

답변 1

답변을 작성해보세요.

0

안녕하세요^^

잘 짜신 코드입니다.

영상에서 하는 앞에서부터 처리, 뒤에서부터 처리하는 방식도 알아두세요. 다른 문제 풀때 유용한 방법입니다.