프로그래머스 Lv.1 코딩테스트
[프로그래머스 Lv.1] 모의고사
하다블
2022. 3. 4. 18:18
반응형
문제는 다음과 같습니다.
코딩테스트 연습 - 모의고사 | 프로그래머스 (programmers.co.kr)
코딩테스트 연습 - 모의고사
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는
programmers.co.kr
풀이코드는 다음과 같습니다.
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
vector<int>score(3);
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};
for(int i{0};i<answers.size();i++)
{
if(answers[i]==a1[i%5])
{
score[0]++;
}
if(answers[i]==a2[i%8])
{
score[1]++;
}
if(answers[i]==a3[i%10])
{
score[2]++;
}
}
int maxi=max(max(score[0],score[1]),score[2]);
for(int i{0};i<3;i++)
{
if(score[i]==maxi)
{
answer.push_back(i+1);
}
}
return answer;
}
큐(queue)에 들어가있다고 생각하고 문제를 해결하시면 어렵지 않은 문제라고 생각합니다.
배열 맨 끝에 도달하고 다음으로 돌아가는 방법을 아신다면 어렵지 않다고 생각하며, 정렬의 경우에는 숫자를 맨 처음부터 체크하면 자동적으로 오름차순이 됩니다.
반응형