-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
선생님 질문이있습니다.
21.04.08 20:14 작성 조회수 122
0
테스트 케이스 전부 돌아가는데..
제 코드를 돌려보면 런타임 에러가 나옵니다.
제 코드 한번만 봐주실ㅇ 수 있을까요?
#include<iostream>
#include<vector>
#include<stdio.h>
#include<algorithm>
using namespace std;
int N;
int arr[101];
int ans[101];
int main() {
cin >> N;
for (int i = 1; i <= N; i++) {
cin >> arr[i];
}
for (int i = 1; i <= N; i++) {
int cur = i;
if (arr[cur] == 1) {
ans[cur] = -1;
}
if (cur >= 1 && cur <= N&&arr[cur]==1) {
int left = cur - 1;
int right = cur + 1;
ans[left] = 1;
ans[right] = 1;
}
}
for (int i = 1; i <= N; i++) {
int cur;
int answer = 0;
if (i == 1&&ans[i]==0) {
cur = i;
while (ans[cur] != -1) {
answer++;
cur++;
}
ans[i] = answer;
}
if (i == N&&ans[i]==0) {
cur = i;
while (ans[cur] != -1) {
answer++;
cur--;
}
ans[i] = answer;
}
if(i>1&&i<N&&ans[i]==0){
cur = i;
int tmp = cur;
int left = 0;
int right = 0;
while (ans[cur] != -1) {
left++;
cur--;
}
while (ans[tmp] != -1) {
right++;
tmp++;
}
answer = min(left, right);
ans[i] = answer;
}
}
int maxi = -2;
for (int i = 1; i <= N; i++) {
if (maxi < ans[i]) {
maxi = ans[i];
}
}
printf("%d", maxi);
}
답변을 작성해보세요.
0
김태원
지식공유자2021.04.10
안녕하세요^^
정상적인 코드인것 같습니다.
채점사이트는 제가 만든게 아니라서 저도 잘 모릅니다. 인프런에 화면 오른쪽 하단에 있는 "문의하기" 로 질문해보세요.
답변 1