https://school.programmers.co.kr/learn/courses/30/lessons/42840#
#완전탐색 #lv.1
회고
처음에 분명 문제를 잘 풀었다고 생각하고 제출했는데 틀렸습니다가 우수수 나와서 당황했었다.
알고보니까 sort 함수에 새로 만든 cmp 비교 함수를 까먹고 안넣어서 ㅋㅋ.. 틀린거였다 ㅜㅜ (바본가..)
이거때문에 10분은 헤맨거같은데.. 까먹지 않도록 주의해야겠다.
아무튼 문제 자체는 어렵지 않아 빠르게 풀 수 있었다.
코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(pair<int, int>a, pair<int, int>b) {
if (a.second == b.second) {
return a.first < b.first;
}
return a.second > b.second;
}
vector<int> solution(vector<int> answers) {
vector<int> answer;
int n1[] = { 1, 2, 3, 4, 5 }; //5
int n2[] = { 2, 1, 2, 3, 2, 4, 2, 5 }; //8
int n3[] = { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 }; //10
pair<int, int> cnt[3] = { {1,0},{2,0},{3,0} };
for (int i = 0; i < answers.size(); i++) {
if (n1[i % 5] == answers[i]) cnt[0].second++;
if (n2[i % 8] == answers[i]) cnt[1].second++;
if (n3[i % 10] == answers[i]) cnt[2].second++;
}
sort(cnt, cnt + 3, cmp);
pair<int, int> max = cnt[0];
for (int i = 0; i < 3; i++) {
if (cnt[i].second == max.second) {
answer.push_back(cnt[i].first);
}
}
return answer;
}
'프로그래밍 > 알고리즘' 카테고리의 다른 글
프로그래머스 : JadenCase 문자열 만들기 _ C++ (0) | 2022.10.27 |
---|---|
프로그래머스 : 숫자 문자열과 영단어 _ C++ (0) | 2022.10.26 |
프로그래머스 : 완주하지 못한 선수 _ C++ (0) | 2022.10.26 |
프로그래머스 : 콜라 문제 _ C++ (0) | 2022.10.26 |
프로그래머스 : 올바른 괄호 _ C++ (0) | 2022.10.25 |