๋ฌธ์ ์ค๋ช
์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์ ๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ต๋๋ค.
1๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...
1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง์ ์ ๋ต์ด ์์๋๋ก ๋ค์ ๋ฐฐ์ด answers๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๋ง์ ๋ฌธ์ ๋ฅผ ๋งํ ์ฌ๋์ด ๋๊ตฌ์ธ์ง ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
<์ ํ ์กฐ๊ฑด>
- ์ํ์ ์ต๋ 10,000 ๋ฌธ์ ๋ก ๊ตฌ์ฑ๋์ด์์ต๋๋ค.
- ๋ฌธ์ ์ ์ ๋ต์ 1, 2, 3, 4, 5์ค ํ๋์ ๋๋ค.
- ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ๋ฐ์ ์ฌ๋์ด ์ฌ๋ฟ์ผ ๊ฒฝ์ฐ, returnํ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
๋ฌธ์ ์ฃผ์: https://programmers.co.kr/learn/courses/30/lessons/42840?language=cpp
๋ฌธ์ ํ์ด
์์ ํ์ ์นดํ ๊ณ ๋ฆฌ์ ์๋ ๋ฌธ์ ๋ต๊ฒ, 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง ๊ฐ ์ํฌ์๋ค์ ์ ๋ต์ด ๋ง๋์ง ์๋์ง ํ์ธํ์ฌ ์ ์๋ฅผ ๊ธฐ๋กํ๋ฉด ๋๋ค. ์ ์๋ฅผ ๊ธฐ๋กํ ๋ฐฐ์ด์์ ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ๋ฐ์ ํ์๋ค์ answer ๋ฐฐ์ด์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
์ด๋ ์ํฌ์ 1์ด ์ฐ๋ ๋ฐฉ์์ 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... ์ด๋ฏ๋ก {1, 2, 3, 4, 5}๊ฐ ๋ฐ๋ณต๋๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ์ํฌ์ 1์ ๋ต์์ {1, 2, 3, 4, 5} ๋ฐฐ์ด๋ก ์ ์ธํ๊ณ , i๋ฒ์งธ ๋ต์์ด ๋ง์๋์ง ๋น๊ตํ ๋
์ํฌ์1[i % 5]์ ๋น๊ตํ ์ ์๋ค.
์์ค ์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
vector<int> score(3, 0); // ํ์1, 2, 3์ ์ ์๋ฅผ ์ ์ฅํ๋ ๋ฐฐ์ด
vector<int> student1 = { 1, 2, 3, 4, 5 };
vector<int> student2 = { 2, 1, 2, 3, 2, 4, 2, 5 };
vector<int> student3 = { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 };
int len = answers.size();
for (int i = 0; i < len; ++i) {
if (answers[i] == student1[i % 5]) // student1.size() = 5
score[0] += 1;
if (answers[i] == student2[i % 8]) // student2.size() = 8
score[1] += 1;
if (answers[i] == student3[i % 10]) // student3.size() = 10
score[2] += 1;
}
// ์ต๊ณ ์ ์๋ฅผ ๊ตฌํ๊ณ , ํด๋น ํ์์ answer ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
int max_score = *max_element(score.begin(), score.end());
for (int i = 0; i < 3; ++i)
if (score[i] == max_score)
answer.push_back(i + 1);
return answer;
}
|
cs |
'Algorithm > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ๋ผ๋ฉด๊ณต์ฅ ํ์ด (0) | 2020.07.24 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ๋ ๋งต๊ฒ ํ์ด (0) | 2020.07.24 |
[C++] ํ๋ก๊ทธ๋๋จธ์ค - "H-index" ํ์ด (0) | 2020.06.03 |
[C++] ํ๋ก๊ทธ๋๋จธ์ค - "๊ฐ์ฅ ํฐ ์" ํ์ด (0) | 2020.06.03 |
[C++] ํ๋ก๊ทธ๋๋จธ์ค - "K๋ฒ์งธ ์" ํ์ด (0) | 2020.06.02 |