728x90
반응형
문제
반응형
풀이
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
|
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<3; i++) {
int count = 0; //정답을 카운트할 int
int index = 0; //반복 패턴의 index
for(int j=0; j<answers.length; j++) {
if(i == 0) { //1번 학생
if(answers[j] == one[index]) { //answer의 j번째 정수와 one의 index번째 정수가 같으면
count++; //count에 +1
}
index++; //그다음 문제로 넘어가기 위해 index에 +1
if(index == 5) { //index가 5에 다다르면
index = 0; //1번 학생의 찍기 패턴 초기화
}
}else if(i == 1) { //2번 학생
if(answers[j] == two[index]) {
count++;
}
index++;
if(index == 8) {
index = 0;
}
}else if(i == 2) { //3번 학생
if(answers[j] == three[index]) {
count++;
}
index++;
if(index == 10) {
index = 0;
}
}
score[i] = count; //score에 학생 점수 입력
}
}
int max = Math.max(score[0], Math.max(score[1], score[2])); //가장 높은 점수
int count=0; //최고점을 받은 학생이 몇명인지 count
for(int i : score) {
if(i == max) {
count++;
}
}
int[] answer = new int[count];
int index = 0;
for(int i=0; i<3; i++) {
if(score[i] == max) {
answer[index] = i+1;
index++;
}
}
return answer;
}
}
|
cs |
728x90
반응형
'[JAVA] 프로그래머스 스쿨 > JAVA Lv.1' 카테고리의 다른 글
[프로그래머스/Java] Lv.1 실패율 (0) | 2023.01.22 |
---|---|
[프로그래머스/Java] Lv.1 체육복 (0) | 2023.01.22 |
[프로그래머스/Java] Lv.1 K번째수 (0) | 2023.01.22 |
[프로그래머스/Java] Lv.1 완주하지 못한 선수 (0) | 2023.01.22 |
[프로그래머스/Java] Lv.1 [1차] 다트 게임 (0) | 2023.01.22 |