- 문제 난이도는 매우 쉽다.
- 3 학생의 답안을 비교하는 방법을 효율적으로 하고 싶었다.
- 게다가 max값이 여러개가 나올 수 있어서 귀찮은 8개의 조건을 다는 최악을 피하고 싶었다.
- 다행히 가장 효율적인 코드와 같은 로직이여서 만족했다.
#include <string> #include <vector> using namespace std; int a1[5]={1,2,3,4,5}; int a2[8]={2,1,2,3,2,4,2,5}; int a3[10]={3,3,1,1,2,2,4,4,5,5}; vector<int> solution(vector<int> answers) { vector<int> dap(3,0); vector<int> answer; for(int i=0;i<answers.size();i++) { if(answers[i] == a1[i%5]) dap[0]++; if(answers[i] == a2[i%8]) dap[1]++; if(answers[i] == a3[i%10]) dap[2]++; } int MAX = max(dap[0],max(dap[1],dap[2])); for(int i=0;i<3;i++) { if(dap[i] == MAX) answer.push_back(i+1); } return answer; }