[프로그래머스] 완전탐색 - 모의고사 (Java)
글 작성자: beaniejoy
프로그래머스 코딩테스트 연습 - 완전탐색 / 모의고사 (https://programmers.co.kr/learn/courses/30/lessons/42840)
1, 2, 3번 수포자의 찍는 규칙을 보면 특정 패턴이 반복됨을 알 수 있습니다. 반복되는 패턴을 전부 integer 배열로 만들어서 할 수도 있는데 저는 괜히 복잡하게 만들어서 혼란만 가중시키는 것 같네요...
이번 문제는 가장 많이 맞춘 사람들만 반환하는 것이기 때문에 그나마 다행인데 한 개 이상 맞춘 수포자를 맞춘 개수로 내림차순 정렬해서 반환하는 것도 생각해봤는데 상당히 어렵더라구요... 고민해봐야할 또 다른 문제인 것 같습니다.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
class Solution {
public int[] solution(int[] answers) {
int[] answer = {};
int[] student2 = {1,3,4,5};
int[] student3 = {3,1,2,4,5};
int stu2_idx = 0;
int stu3_idx = 0;
int one_right=0;
int two_right=0;
int three_right=0;
for(int i = 0; i < answers.length; i++){
if(answers[i] == (i % 5) + 1){
one_right++;
}
if(i % 2 == 0){
if(answers[i] == 2){
two_right++;
}
stu3_idx = (i / 2) % 5;
} else{
stu2_idx = ((i - 1) / 2) % 4;
if(answers[i] == student2[stu2_idx]){
two_right++;
}
}
if(answers[i] == student3[stu3_idx]){
three_right++;
}
}
int max_point = 0;
if(max_point < one_right){
max_point = one_right;
}
if(max_point < two_right){
max_point = two_right;
}
if(max_point < three_right){
max_point = three_right;
}
if(max_point == 0) {return new int[]{};}
if(max_point == one_right && max_point == two_right && max_point == three_right){
return new int[]{1,2,3};
} else if(max_point == one_right && max_point == two_right){
return new int[]{1,2};
} else if(max_point == two_right && max_point == three_right){
return new int[]{2,3};
} else if(max_point == one_right && max_point == three_right){
return new int[]{1,3};
} else if(max_point == one_right){
return new int[]{1};
} else if(max_point == two_right){
return new int[]{2};
}
return new int[]{3};
}
}
|
'CS > Algorithm' 카테고리의 다른 글
[프로그래머스] Hash(해시) - 베스트앨범 (Java) (0) | 2020.03.27 |
---|---|
[프로그래머스] Hash(해시) - 전화번호 목록 (Java) (0) | 2020.02.21 |
[프로그래머스] DFS/BFS - 네트워크 (Java) (0) | 2020.02.21 |
[프로그래머스] 완전탐색 - 숫자 야구 (Java) (0) | 2020.02.20 |
[프로그래머스] 완전탐색 - 소수 찾기 (Java) (0) | 2020.02.20 |
댓글
댓글(Github)
다른 글
-
[프로그래머스] Hash(해시) - 전화번호 목록 (Java)
[프로그래머스] Hash(해시) - 전화번호 목록 (Java)
2020.02.21 -
[프로그래머스] DFS/BFS - 네트워크 (Java)
[프로그래머스] DFS/BFS - 네트워크 (Java)
2020.02.21 -
[프로그래머스] 완전탐색 - 숫자 야구 (Java)
[프로그래머스] 완전탐색 - 숫자 야구 (Java)
2020.02.20 -
[프로그래머스] 완전탐색 - 소수 찾기 (Java)
[프로그래머스] 완전탐색 - 소수 찾기 (Java)
2020.02.20