귀염둥이의 메모

[프로그래머스] 모의고사 (C++) 본문

CS/프로그래머스

[프로그래머스] 모의고사 (C++)

겸둥이xz 2021. 4. 3. 16:13
반응형

 

programmers.co.kr/learn/courses/30/lessons/42840

 

코딩테스트 연습 - 모의고사

수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는

programmers.co.kr

1번, 2번, 3번 찍는 방식 a, b, c를 각각 선언했다.

check 배열의 인덱스 0은 쓰지 않고, 1, 2, 3은 1번, 2번, 3번이 맞은 문제의 개수이다.

 

  • answers의 길이만큼 반복문을 진행하며 a, b, c와 비교하며 맞으면 check를 1증가 시킨다.
  • 마지막에 최댓값을 answer에 저장한다.

 

소스코드

#include <string>
#include <vector>

using namespace std;

vector<int> a = {1, 2, 3, 4, 5};
vector<int> b = {2, 1, 2, 3, 2, 4, 2, 5};
vector<int> c = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
int check[4];

vector<int> solution(vector<int> answers) {
    vector<int> answer;
    
    for (int i = 0; i < answers.size(); i++) {
        if (a[i % 5] == answers[i]) check[1]++;
        if (b[i % 8] == answers[i]) check[2]++;
        if (c[i % 10] == answers[i]) check[3]++;
    }
    
    int mx = max(check[1], max(check[2], check[3]));
    
    if (mx == check[1]) answer.push_back(1);
    if (mx == check[2]) answer.push_back(2);
    if (mx == check[3]) answer.push_back(3);
    
    return answer;
}

 

반응형

'CS > 프로그래머스' 카테고리의 다른 글

[프로그래머스] 여행경로 (C++)  (0) 2021.04.11
Comments