λ¬Έμ μ€λͺ
μν¬μλ μνμ ν¬κΈ°ν μ¬λμ μ€λ§μ
λλ€. μν¬μ μΌμΈλ°©μ λͺ¨μκ³ μ¬μ μν λ¬Έμ λ₯Ό μ λΆ μ°μΌλ € ν©λλ€. μν¬μλ 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νλ κ°μ μ€λ¦μ°¨μ μ λ ¬ν΄μ£ΌμΈμ.
μ
μΆλ ₯ μ
answers return
[1,2,3,4,5][1]
[1,3,2,4,2][1,2,3]
μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ1
μν¬μ 1μ λͺ¨λ λ¬Έμ λ₯Ό λ§νμ΅λλ€.
μν¬μ 2λ λͺ¨λ λ¬Έμ λ₯Ό νλ Έμ΅λλ€.
μν¬μ 3μ λͺ¨λ λ¬Έμ λ₯Ό νλ Έμ΅λλ€.
λ°λΌμ κ°μ₯ λ¬Έμ λ₯Ό λ§μ΄ λ§ν μ¬λμ μν¬μ 1μ
λλ€.
μ μΆλ ₯ μ2
λͺ¨λ μ¬λμ΄ 2λ¬Έμ μ©μ λ§μ·μ΅λλ€.
λ¬Έμ λ₯Ό μ΄ν΄νλλ°μλ μ€λκ±Έλ¦¬μ§ μμλ€. κ·Έλ₯ μ°λ ν¨ν΄κ³Ό λ΅μμ§μ 1:1 맀μΉμ ν΄μ λ§μΌλ©΄ λ§μ κ°μλ₯Ό 체ν¬νκ³
μν¬μ 1,2,3 μ€ κ°μ₯ λ§μ΄ λ§μ κ°―μμ μν¬μ 1,2,3μ΄ λ§μκ°―μλ₯Ό λΉκ΅ν΄ κ°μΌλ©΄ λ°°μ΄μ μ μ₯νλ€κ° λ°νν΄μ£Όλ©΄ λλ€.
κ·Όλ° λ ν¨ν΄μ μ΄μνκ² μ‘μλ€. μκ°ν μ μλ κΈ°νκ° λλ€...
class Solution {
public int[] solution(int[] answers) {
//μν¬μλ€
int[] supoja1 = {1,2,3,4,5};
int[] supoja2 = {2,1,2,3,2,4,2,5};
int[] supoja3 = {3,3,1,1,2,2,4,4,5,5};
int[] cnt = new int[3];
//μν¬μλ€ λ§μΆ κ°―μ μΆκ°
for(int i = 0; i<answers.length; i++){
if(answers[i] == supoja1[i%supoja1.length])
cnt[0]++;
if(answers[i] == supoja2[i%supoja2.length])
cnt[1]++;
if(answers[i] == supoja3[i%supoja3.length])
cnt[2]++;
}
int max = 0;
List<Integer> answerList = new ArrayList<Integer>();
//λ§μΆ μ΅λκ°―μ ꡬνκΈ°
for(int i = 0 ; i<cnt.length;i++){
if(max < cnt[i])
max = cnt[i];
}
//μ΅λκ°―μλ μν¬μμ°μ κ°―μλ κ°μΌλ©΄ 리μ€νΈμ λ§μΆ°μ 1,2,3 μΆκ°
for(int i = 0; i <cnt.length ; i++){
if(max == cnt[i]) answerList.add(i+1);
}
//리μ€νΈμμ λ°°μ΄λ‘ λΉΌμ€
int[] answer = new int[answerList.size()];
for(int i = 0; i <answer.length ; i++){
answer[i] = answerList.get(i);
}
return answer;
}