๋ชจ์๊ณ ์ฌ ๋ฌธ์ ํ์ด
๐ปQ
์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์
๋๋ค.
์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค.
์ํฌ์๋ 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
์ํฌ์ 1์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ๋งํ์ต๋๋ค.์ํฌ์ 2๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.์ํฌ์ 3์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ฅ ๋ฌธ์ ๋ฅผ ๋ง์ด ๋งํ ์ฌ๋์ ์ํฌ์ 1์
๋๋ค.
#2
๋ชจ๋ ์ฌ๋์ด 2๋ฌธ์ ์ฉ์ ๋ง์ท์ต๋๋ค.
๐กA
์ ์ ๋ฐฐ์ด์ ๊ท์น์ ์ฐพ๋ ๊ณผ์ ์ ์์์ง๋ง ๋ง์ถ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์ ์ฝ๋๋ก ์ฎ๊ธฐ๋๊ฒ ์ด๋ ค์ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ๋ณด๊ณ ๋์์ ๋ฐ์๋ค.
for๋ฌธ์ ์ด์ฉํ ์์ ํ์ ๋ฐฉ๋ฒ์ผ๋ก ์ ๋ต ํจํด ๊ฐ์๋ฅผ ๋๋์ด ๋๋จธ์ง๊ฐ 0 ์ด๋ฉด ์ ๋ต.
Math.max ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๊ฐ์ฅ ๋ต์ ๋ง์ด ๋ง์ถ ์ฌ๋์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์๊ฒ ๋์๋ค.
import java.util.ArrayList;
class Solution {
public int[] solution(int[] answers) {
int[] one = { 1, 2, 3, 4, 5 };
int[] two = { 2, 1, 2, 3, 2, 4, 2, 5 };
int[] three = { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 };
int[] score = new int[3];
for (int i = 0; i < answers.length; i++) {
if (one[i % 5] == answers[i])
score[0]++;
if (two[i % 8] == answers[i])
score[1]++;
if (three[i % 10] == answers[i])
score[2]++;
}
int max = Math.max(Math.max(score[0], score[1]), score[2]);
ArrayList<Integer> list = new ArrayList<>();
if(max == score[0])
list.add(1);
if(max == score[1])
list.add(2);
if(max == score[2])
list.add(3);
int[] answer = new int[list.size()];
for (int i = 0; i < answer.length; i++) {
answer[i] = list.get(i);
}
return answer;
}
}โ