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

go122345님의 프로필 이미지
go122345

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-C 왜 틀렸다구 뜰까요? ㅠㅠ

작성

·

269

0

psum이를 사용하려한게 좋은 접근은 아닐까요..?

 

#include <bits/stdc++.h>

using namespace std;

 

int A, B, C;

int ariv_t[3]; int leav_t[3]; int psum[104];

int howmuch(int cnt) { // 차가 몇대 있는지에 따라서 얼마 더할지 리턴

    switch (cnt)

    {

    case 1:

        return A;

    

    case 2:

        return 2 * B;

 

    case 3:

        return 3 * C;

 

    default:

        return 0;

       

    }

}

 

int main()

{

    int leav; int ariv;

    cin >> A >> B >> C;

    for (int i = 0; i < 3; i++) {

        cin >> ariv >> leav;

        ariv_t[i] = ariv; leav_t[i] = leav;

    }

    int cnt = 0; 

    sort(ariv_t,ariv_t+3);

    sort(leav_t, leav_t + 3);

    for (int i = 1; i <= leav_t[2]; i++) {

        if (find(ariv_t, ariv_t + 3, i) != ariv_t + 3)

            cnt++;

        if (find(leav_t, leav_t + 3, i) !=leav_t+3 ) // find 탐색 실패시 _Last 이터레이터를 반환함.

            cnt--;

 

        psum[i] = psum[i - 1] + howmuch(cnt);

    }

    printf("%d", psum[leav_t[2]]);

    return 0;

}

 

앞길이 멀지만 우직하게 걸어나가겠습니다. 감사합니다

답변 2

1

go122345님의 프로필 이미지
go122345
질문자

차 2대 또는 3대가 동시에 나가거나 들어오는걸 생각 못했네요 머쓱..ㅎㅎ

0

큰돌님의 프로필 이미지
큰돌
지식공유자

알람을 모두 확인했다고 했는데... 인프런에서 이 알림이 제게 안뜬 것같아요..

늦게 답변을 드려 죄송합니다.

  

스스로 답변을 찾아서 다행입니다. 

앞으로 또 질문있으시면 언제든지 말씀 부탁드립니다. 

감사합니다. 

go122345님의 프로필 이미지
go122345

작성한 질문수

질문하기