강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

ismy123님의 프로필 이미지
ismy123

작성한 질문수

코딩테스트 실전 모의고사(with C++) : 대기업 대비

1. 거리두기 코드 해설

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

작성

·

194

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

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

잘 짜신 코드입니다.

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

ismy123님의 프로필 이미지
ismy123

작성한 질문수

질문하기