[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ๋ชจ์˜๊ณ ์‚ฌ (brute force)

 

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

๋Œ€์ถฉ ํ’€๋ฉด ์‰ฌ์šด ๋ฌธ์ œ. ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ณ  ๋ช…ํ™•ํ•˜๊ฒŒ ์“ฐ๋Š” ๊ฑธ ์—ฐ์Šตํ•˜์ž.

์ฝ”๋“œ

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<int> answers) {
  vector<int> answer;
    int size = answers.size();
    int correct[3] = { 0,0,0 };

    int secondList[4] = { 1,3,4,5 };
    int thirdList[5] = { 3,1,2,4,5 };

    for (int i = 0; i<size; i++) {
        int ans = answers[i];
        if ((i % 5) + 1 == ans) // 1๋ฒˆ
            correct[0]++;
        if (i % 2 == 0 && ans == 2) // 2๋ฒˆ
            correct[1]++;
        else if (i % 2 != 0 && secondList[(i / 2) % 4] == ans)
            correct[1]++;
        if (thirdList[(i / 2) % 5] == ans) // 3๋ฒˆ
            correct[2]++;
    }

    if (correct[0]>correct[1]) {
        if (correct[1] >= correct[2]) {
            answer.push_back(1);
        }
        else {
            if (correct[2]>correct[0])
                answer.push_back(3);
            else if (correct[2] == correct[0]) {
                answer.push_back(1);
                answer.push_back(3);
            }
            else {
                answer.push_back(1);
            }
        }
    }
    else if (correct[0] == correct[1]) {
        if (correct[0]>correct[2]) {
            answer.push_back(1);
            answer.push_back(2);
        }
        else if (correct[0] == correct[2]) {
            answer.push_back(1);
            answer.push_back(2);
            answer.push_back(3);
        }
        else {
            answer.push_back(3);
        }
    }
    else {
        if (correct[1]<correct[2]) {
            answer.push_back(3);
        }
        else if (correct[1]>correct[2])
            answer.push_back(2);
        else {
            answer.push_back(2);
            answer.push_back(3);
        }
    }

    return answer;
}

 

๋ฐœ์ „์‹œํ‚ฌ ์ 

+) max_element๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์“ฐ๋ฉด ๊น”๋”ํ•จ

<algorithm> header file์— ์žˆ์œผ๋ฉฐ (์‹œ์ž‘์ฃผ์†Œ, ๋์ฃผ์†Œ)๋ฅผ ๋„˜๊ธฐ๋ฉด max ๊ฐ’์„ ์ฐพ์•„์„œ ๋„˜๊ฒจ์คŒ

+) ํŒจํ„ด์„ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ๋ฐฐ์—ด์— ํ•œ๊บผ๋ฒˆ์— ๋„ฃ๊ณ  ํ•˜๋ฉด ๊น”๋”ํ•จ

๋ฐ˜์‘ํ˜•