완전 탐색 - 모의고사

Kyu·2021년 1월 20일
0

알고리즘

목록 보기
5/7
package programmers.p42840;

import java.util.Arrays;

class Solution {

    int[] a = {1, 2, 3, 4, 5};
    int[] b = {2, 1, 2, 3, 2, 4, 2, 5};
    int[] c = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};

    public int[] solution(int[] answers) {

        int A = countOfAnswers(answers, a);
        int B = countOfAnswers(answers, b);
        int C = countOfAnswers(answers, c);

        int[] arr = new int[0];
        if (A == B && B == C && A == C) {
            arr = new int[]{1, 2, 3};
        }
        
        if (A == B && A != C && B != C) {
            arr = new int[]{1, 2};
        }
        
        if (B == C && A != B && A != C) {
            arr = new int[]{2, 3};
        }
        
        if (A != B && A != C && B != C) {
            arr = new int[]{A, B, C};
            Arrays.sort(arr);
            if (arr[0] == A) {
                arr = new int[]{1};
            }
            if (arr[0] == B) {
                arr = new int[]{2};
            }
            if (arr[0] == C) {
                arr = new int[]{3};
            }
            
        }
        return arr;
      
    }
    private int countOfAnswers(int[] answers, int[] givenAnswer){

        int count1 = 0;
        int countOfAnswers = 0;
        for (int i = 0; i < answers.length; i++) {
            if (i != 0) {
                count1++;
            }
            if (i % givenAnswer.length == 0) {
                count1 = 0;
            }
            if ( answers[i] == givenAnswer[count1]) {
                countOfAnswers++;
            }
        }
        return countOfAnswers;
    }
}

countOfAnswers()까지는 테스트해보니 잘 나오더라

근데 테스트 코드에서 통과한 것도 있고 못한것도 있는거보니
A,B,C 비교하는 코드에서 잘못 됐다

bat가 max를 ArrayList에 받고 그것과 비교해서 하면 된다고했다.
그게 정답이네

profile
TIL 남기는 공간입니다

0개의 댓글

관련 채용 정보