문제
https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
INITIATE - 수포자1,2,3의 선택지를 쭉 더해줬다.
수포자1은 12345123451234512345....
수포자2는 21232425 21232425 21232425...
수포자3은 3311224455 3311224455 3311224455....
COMPARE - 그다음 정답과 하나씩 비교해주었다
CHECK MAX - 가장 높은 점수를 받은 후 결과를 출력!
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
vector<int> solution(vector<int> answers)
{
//INITIATE
string str1 = "12345";
string str2 = "21232425";
string str3 = "3311224455";
for (int i = 0; i <= 10; ++i)
{ str1 += str1; str2 += str2; str3 += str3;}
//COMPARE
vector<int> scores(3,0);
for(int i;i<answers.size();i++)
{
if(answers[i]==static_cast<int>(str1[i] - '0'))
{scores[0]++;}
if(answers[i]==static_cast<int>(str2[i] - '0'))
{scores[1]++;}
if(answers[i]==static_cast<int>(str3[i] - '0'))
{scores[2]++;}
}
//CHECK MAX
vector<int> answer;
int maxScore=*max_element(scores.begin(),scores.end());
for(int i=0;i<3;i++)
{
if(scores[i]==maxScore){answer.push_back(i+1);}
}
return answer;
}
'개발' 카테고리의 다른 글
플로이드 와샬 알고리즘(Floyd Warshall) (1) | 2024.11.18 |
---|---|
[프로그래머스] 피로도 (C++) (0) | 2024.11.18 |
다익스트라 알고리즘 (Dijkstra) (0) | 2024.11.15 |
포트포워딩 (0) | 2023.11.28 |
[C언어] 동적 할당 malloc (0) | 2023.04.12 |