강의로 돌아가기
강래민

테스트 케이스 실패 이유를 알고 싶습니다.

int solution(vector<vector<int> > land)   
{
    int answer = 0;
    //최대 접근 인덱스 3보다 큰수
    int flag = 4;

    for (int i = 0; i < land.size(); ++i)
    {
               //1번째 줄만 flag 값 입력 없음.
        if (i != 0)
        {
                        //해당 플레그 위치 값 최솟값으로 변환
            land[i][flag] = -1;
        }
        vector<int>::iterator Iter = max_element(land[i].begin(), land[i].end());
        flag = distance(land[i].begin(), Iter);
        answer += *Iter;
    }
    return answer;
}
작성중인 코드―solution.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int solution(vector<vector<int> > land)
{
    int answer = 0;
    //최대 접근 인덱스 3보다 큰수
    int flag = 4;
    int r = land.size();
    for (int i = 0; i < r; i++)
    {
        if (i != 0 )
        {
            land[i][flag] = -1;
        }
        vector<int>::iterator Iter = max_element(land[i].begin(), land[i].end());
        flag = distance(land[i].begin(), Iter);
        answer += *Iter;
    }
    return answer;
}
  • nedcrow
    슬쩍 봤을때는 land[n]은 [0~3]만 가져야하는데, flag가 4면 문제 생기지 않나요? nedcrow 2018.12.06 23:32
  • nedcrow
    한 줄씩 max값 거르실때, 경로가 직선으로 이어지는지는 어떻게 확인하고 계신가요? 가장 큰 값만 더하시는 것 같습니다. nedcrow 2018.12.06 23:36
1 개의 답변
Demi

newcrow님께서 잘 설명해주신 것 같네요.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.