2023. 2. 14. 16:25ใ์ฝ๋ฉํ ์คํธ ์ฐ์ต/ํ๋ก๊ทธ๋๋จธ์ค_2023
๋ฌธ์ ์ค๋ช
์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์ ๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 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ํ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
[1,2,3,4,5] | [1] |
[1,3,2,4,2] | [1,2,3] |
์ ์ถ๋ ฅ ์ #1
- ์ํฌ์ 1์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ๋งํ์ต๋๋ค.
- ์ํฌ์ 2๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
- ์ํฌ์ 3์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ฅ ๋ฌธ์ ๋ฅผ ๋ง์ด ๋งํ ์ฌ๋์ ์ํฌ์ 1์ ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๋ชจ๋ ์ฌ๋์ด 2๋ฌธ์ ์ฉ์ ๋ง์ท์ต๋๋ค.
๋์ ํ์ด [Java]
public int[] solution(int[] answers) {
int[] score = new int[3];
int[] user1 = { 1, 2, 3, 4, 5 };
int[] user2 = { 2, 1, 2, 3, 2, 4, 2, 5 };
int[] user3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
for (int i = 0; i< answers.length; i++)
{
if (answers[i] == user1[i % user1.length]) score[0] ++;
if (answers[i] == user2[i % user2.length]) score[1] ++;
if (answers[i] == user3[i % user3.length]) score[2] ++;
}
int maxScore = Math.max(score[0], Math.max(score[1], score[2]));
ArrayList<Integer> list = new ArrayList<>();
if (maxScore == score[0]) list.add(1);
if (maxScore == score[1]) list.add(2);
if (maxScore == score[2]) list.add(3);
return list.stream().mapToInt(Integer::intValue).toArray();
}
2์ฐจ ๋ฐฐ์ด๋ก ํ๊น ํ๋ค๊ฐ ๊ทธ๋ฅ ์ํฌ์ 1, 2, 3 ์ ๊ฐ๊ฐ์ ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ answer์ ๋น๊ตํด์คฌ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ต์ ๋ง์ถ๋ ๋ง๋ค score ๋ฐฐ์ด์ score[0] ์ ์ํฌ์ 1, score[1] ์ ์ํฌ์ 2, score[2] ๋ ์ํฌ์ 3 ์ผ๋ก ํด์ +1 ์ฉ ์ฆ๊ฐ์์ผ์คซ๋ค.
๊ทธ๋ฆฌ๊ณ score์ ๊ฐ์ค์ ๊ฐ์ฅ ๋ง์ด ๋งํ ์ฌ๋์ ์ฐพ๊ธฐ ์ํด์ Math.max๋ฅผ ํตํด์ ๋ง์ด ๋งํ ๊ฐ์ ๊ตฌํ๊ณ ,
Arraylist์ maxScore์ ๊ฐ์ด๊ฐ์ ์ํฌ์๊ฐ ์๋ค๋ฉด add ํด์ฃผ๊ณ ,
๋ง์ง๋ง์ int[]๋ก ๋ฆฌํดํด์ฃผ๋ฉด ๋๋ค.
'์ฝ๋ฉํ ์คํธ ์ฐ์ต > ํ๋ก๊ทธ๋๋จธ์ค_2023' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] Lv3. ํค๋น ์ ์ ๊ฐ ์์ ํ ์ฅ์ (0) | 2023.02.16 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] Lv1. ์ฝ๋ผ๋ฌธ์ (0) | 2023.02.15 |
[ํ๋ก๊ทธ๋๋จธ์ค] Lv1. ์กฐ๊ฑด์ ๋ง๋ ๋์ ๋ฆฌ์คํธ ์ถ๋ ฅํ๊ธฐ (0) | 2023.02.14 |
[ํ๋ก๊ทธ๋๋จธ์ค] Lv1.ํ๊ท ์ผ์ผ ๋์ฌ ์๊ธ ๊ตฌํ๊ธฐ (0) | 2023.02.09 |
[ํ๋ก๊ทธ๋๋จธ์ค] Lv1. ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ (0) | 2023.02.07 |