강의로 돌아가기
김동규

케이스 8에서 계속 실패라고 뜹니다.

뭐가 문젠가요.. 답답해죽겠습니다.
모든 케이스 다 해봤는데 돌아가는데 케이스8만 안됩니다.

작성중인 코드―Solution.java
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
63
64
65
66
67
68
class Solution {
    public int[] solution(int[] answers) {
        int[] answer={};
         int num = answers.length;
        int[] One = new int[num];
        int[] Two = new int[num];
        int[] Three = new int[num];
        int chk=0;
        int[] Ans_num= new int[3];
        boolean[] check = {false,false,false};

        for(int i=0;i<num;i++) //1번 수포자 초기화
            One[i]=i%5+1;
        for(int i=0;i<num;i++){ //2번 수포자 초기화
            if(i%2==0)
                Two[i]=2;
            else if(i%8<5)
                Two[i]=i%8;
            else if(i%8==5)
                 Two[i]=4;
               else if(i%8==7)
                 Two[i]=5;
            }
        for(int i=0;i<num;i++){ //3번 수포자 초기화
            if(i%10<2)
                Three[i]=3;
            else if(i%10<4)
                 Three[i]=1;
            else if(i%10<6)
                 Three[i]=2;
            else if(i%10<8)
                 Three[i]=4;
            else 
                 Three[i]=5;
        }

        for(int i=0;i<num;i++){
            if(answers[i]==One[i])
                Ans_num[0]++;
            if(answers[i]==Two[i])
                Ans_num[1]++;
            if(answers[i]==Three[i])
                Ans_num[2]++;
        }   

            int max = Ans_num[0];
            if(Ans_num[0]<Ans_num[1])
                max = Ans_num[1];
            else if(Ans_num[0]<Ans_num[2])
                max = Ans_num[2];
            for(int i=0;i<3;i++){
                if(max==Ans_num[i]){
                    check[i]=true; 
                    chk++;
                }
        }

        answer = new int[chk];
        int s=0;

        for(int i=0;i<3;i++){
            if(check[i])
                answer[s++]=i+1;
        }

        return answer;
    }
}
  • 장익준
    가운데 max 구하는 부분에서 조건이 부족해요. Ans_num[1]이 Ans_num[0]보다 크다고 무조건 max 일수는 없으니 Ans_num[1]하고 Ans_num[2]하고도 비교해줘야죠.... 밑에도 똑같이.. ㅋㅋ 장익준 2019.02.01 10:53
  • 김현식
    max 제대로 구해도 8번 자꾸 에러뜨는ㄷ ㅔ무슨이유일까요... 김현식 2019.04.03 16:45
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.