- Today
- Total
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์๋ฐ
- ๋ฐฑ์ค
- java
- ๊ทธ๋ฆฌ๋
- PS
- ๋ฐฑ์๋
- ๋ฒจ๋งํฌ๋
- ์์์ ๋ ฌ
- ์๋ฐ์์ ์
- BFS
- ์กธ์ ์ํ
- leetcode
- ์ธํด
- spring
- OOP
- CS
- ๋ค์ต์คํธ๋ผ
- pytorch
- ํ๋ก๊ทธ๋๋จธ์ค
- Graph
- dp
- Algorithm
- ์๋ฃ๊ตฌ์กฐ
- array
- tree
- MST
- ๊ตฌํ
- database
- ๋ฌธ๋ฒ
Partially Committed
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ชจ์๊ณ ์ฌ ๋ณธ๋ฌธ
https://programmers.co.kr/learn/courses/30/lessons/42840
< ์ํฌ์1 , ๋ง์ ์ ์ > , < ์ํฌ์2 , ๋ง์ ์ ์ > , < ์ํฌ์3, ๋ง์ ์ ์ > ์ ๊ฐ์ ๋ ์ฝ๋๋ฅผ ๊ฐ์ง๋
ํด์ฌ ํ ์ด๋ธ์ ๋ง๋ค์ด์ ํด๊ฒฐํ ์ ์๋ค.
์ํฌ์1, 2, 3 ์ด ๋ฌธ์ ๋ฅผ ์ฐ๋ ๋ฐฉ์์ ๊ฐ๊ฐ 5, 8, 10 ์ ์ํ๋ง๋๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ์ด์ ๋ฐ๋ผ์
๊ฐ๊ฐ ๋ง์ ์ ์๋ฅผ ์ฆ๊ฐ์์ผ์ค๋ค.
๊ทธ๋ฆฌ๊ณ ํด์ฌ ํ ์ด๋ธ์ key ๊ฐ ์๋ value ๊ฐ์ ๊ธฐ์ค์ผ๋ก sort ํด์ฃผ๋ฉด ํธํ๋ฐ
์ด๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ํด์ฌ ํ ์ด๋ธ์ record ๋ฅผ ์์๋ก ๊ฐ์ง๋ vector ์ ์ ์ธํ ๋ค sorting ์ ํด์ค๋ค.
vector ์ปจํ ์ด๋๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฐ์์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
์ ๋ ฌ์ ๋ง์น๋ฉด v[0], v[1], v[2] ๋ ๊ฐ๊ฐ ๊ณ ๋์ ํ ์์๋ก ์ ๋ ฌ๋๋ค. (compare ํจ์ ์ฃผ์)
1๋ฑ์ด ๋ช๋ช ์ธ์ง์ ๋ฐ๋ผ answer ์ ๋๊ตฌ๋ฅผ insert ํ๊ณ ์ ๋ ฌ์ ํ ์ง ๋ง์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
v[0].second ๊ฐ v[1] ๋ณด๋ค ํฌ๋ฉด ๋จ๋ 1๋ฑ์ด ๋ฐ์ํ ๊ฒ์ด๋ฏ๋ก v[0].first ๋ง push ํด์ฃผ๊ณ ๋๋ธ๋ค.
v[0].second ๊ฐ v[1].second ์ ๊ฐ๊ณ v[1].second ๊ณผ v[2].second ๊ฐ ๋ค๋ฅด๋ค๋ฉด 1๋ฑ์ด 2๋ช ๋ฐ์ํ ๊ฒ์ด๋ฏ๋ก,
v[0].first ์ v[1].first ๋ฅผ push ํ ๋ค์ ์ ๋ ฌํ๊ณ ๋๋ธ๋ค.
v[0].second ์ v[1].second ์ v[2].second ๊ฐ ๋ชจ๋ ๊ฐ๋ค๋ฉด 1๋ฑ์ด 3๋ช ๋ฐ์ํ ๊ฒ์ด๋ฏ๋ก ๊ฐ๊ฐ์ first ๋ฅผ push ํ๊ณ
์ ๋ ฌํ ๋ค ๋๋ธ๋ค.
[C++]
#include <string>
#include <vector>
#include <unordered_map>
#include <algorithm>
#include <iostream>
using namespace std;
int one[] = { 1, 2, 3, 4, 5 }; // 5
int two[] = { 2, 1, 2, 3, 2, 4, 2, 5 }; // 8
int three[] = { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 }; // 10
vector<int> solution(vector<int> answers) {
vector<int> answer;
int num = answers.size();
unordered_map <int, int> idx;
idx.insert(make_pair(1, 0));
idx.insert(make_pair(2, 0));
idx.insert(make_pair(3, 0));
int ans = 0;
for (int i = 0; i < num; i++)
{
ans = answers[i];
if (ans == one[i % 5])
{
idx[1]++;
}
if (ans == two[i % 8])
{
idx[2]++;
}
if (ans == three[i % 10])
{
idx[3]++;
}
}
vector<pair<int, int>> v(idx.begin(), idx.end());
sort(v.begin(), v.end(), [](pair<int, int> a, pair<int, int> b)
{
return a.second > b.second;
});
if (v[0].second > v[1].second)
{
answer.push_back(v[0].first);
return answer;
}
if (v[0].second == v[1].second && v[1].second != v[2].second)
{
answer.push_back(v[0].first);
answer.push_back(v[1].first);
sort(answer.begin(), answer.end());
return answer;
}
if (v[0].second == v[1].second && v[1].second == v[2].second)
{
answer.push_back(v[0].first);
answer.push_back(v[1].first);
answer.push_back(v[2].first);
sort(answer.begin(), answer.end());
}
return answer;
}
'๐ฅ Algorithm || ๋ฌธ์ ํ์ด > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ฐพ์๋ผ ํ๋ก๊ทธ๋๋ฐ ๋ง์์คํฐ] ํฐ์ผ๋ชฌ (0) | 2022.07.03 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฒด์ก๋ณต (0) | 2022.07.03 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ฃผํ์ง ๋ชปํ ์ ์ (0) | 2022.07.02 |
[์ ๋ ฌ] k๋ฒ์งธ์ (0) | 2022.07.01 |
[Summer/Winter Coding(~2018)] ์์ ๋ง๋ค๊ธฐ (0) | 2022.07.01 |