Development/CodingTest
[ํ๋ก๊ทธ๋๋จธ์ค] Java ๋ชจ์๊ณ ์ฌ
Kirok Kim
2021. 12. 16. 19:01
import java.util.*;
class Solution {
public static int[] solution(int[] answers) {
int[][] patterns = {
{1, 2, 3, 4, 5},
{2, 1, 2, 3, 2, 4, 2, 5},
{3, 3, 1, 1, 2, 2, 4, 4, 5, 5}
};
int[] hit = new int[3];
for(int i = 0; i < hit.length; i++) {
for(int j = 0; j < answers.length; j++) {
if(patterns[i][j % patterns[i].length] == answers[j]) hit[i]++;
}
}
int max = Math.max(hit[0], Math.max(hit[1], hit[2]));
List<Integer> list = new ArrayList<>();
for(int i = 0; i < hit.length; i++)
if(max == hit[i]) list.add(i + 1);
int[] answer = new int[list.size()];
int cnt = 0;
for(int num : list)
answer[cnt++] = num;
return answer;
}
}
- ์ ์ฝ๋๋ ํ๋ก๊ทธ๋๋จธ์ค ํด๋ต ์ค ์ ์ผ ๊น๋ํด์ ๋ค๊ณ ์๋ค.
- ๋ด๊ฐ ์์ฑํ ์ฝ๋๋ ๋๋ฌด ๊ธธ๊ณ ๋ณด๊ธฐ๋ ์ข ๋ถํธํด์ ์ ์ฝ๋๋ก ๋ฆฌ๋ทฐํ๋ค...
int[][] patterns = {
{1, 2, 3, 4, 5},
{2, 1, 2, 3, 2, 4, 2, 5},
{3, 3, 1, 1, 2, 2, 4, 4, 5, 5}
};
- ์ฐ์ ์ด์ฐจ์ ๋ฐฐ์ด๋ถํฐ ๋ด๋ ๊ฒ ๋ถํฐ๊ฐ ํ๊ธฐ์ ์ด๋ค.
int[] hit = new int[3];
for(int i = 0; i < hit.length; i++) {
for(int j = 0; j < answers.length; j++) {
if(patterns[i][j % patterns[i].length] == answers[j]) hit[i]++;
}
}
- j๋ถ๋ถ์ ์ด์ฐจ์ ๋ฐฐ์ด์ ๊ธธ์ด๋ก ๋๋์ด์ ํด๋ต์ ๊ธธ์ด์ ๊ฐ์ผ๋ฉด hit๋ฐฐ์ด์ ๋ด์ ++ํ๋ค.
int max = Math.max(hit[0], Math.max(hit[1], hit[2]));
List<Integer> list = new ArrayList<>();
for(int i = 0; i < hit.length; i++)
if(max == hit[i]) list.add(i + 1);
int[] answer = new int[list.size()];
int cnt = 0;
for(int num : list)
answer[cnt++] = num;
return answer;
}
}
- Math.max๋ ๋งค๊ฐ๋ณ์ 3๊ฐ๋ฅผ ๋ฐ์ ์๊ฐ ์์ด max๋ฅผ ๋ ๋ฒ ์ผ๋ค. ์์ผ๋ก์ ์ฝ๋ฉ์ ์ฐธ๊ณ ํด๋ณด๋ฉด ์ข์ ๋ฏํ๋ค.
๋ฐ์ํ