C# 알고리즘 코드카타

57. 모의고사

잼잼재미 2023. 12. 13. 10:43

 

 

using System;

public class Solution {
    public int[] solution(int[] answers) {
        
    int num1 = 0;
    int num2 = 0;
    int num3 = 0;

    for (int i = 0; i < answers.Length; i++)
    {
        if(answers[i] == random1(i + 1)) num1++;
        if(answers[i] == random2(i + 1)) num2++;
        if(answers[i] == random3(i + 1)) num3++;
    }

    if (num1 == num2 && num2 == num3)
    {
        int[] array = { 1, 2, 3 };
        return array;
    }
    else if (num1 == num2 && num1 > num3)
    {
        int[] array = { 1, 2 };
        return array;
    }
    else if (num2 == num3 && num2 > num1)
    {
        int[] array = { 2, 3 };
        return array;
    }
    else if(num1 == num3 && num1 > num2)
    {
        int[] array = { 1, 3 };
        return array;
    }
    else
    {
        if(num1 > num2 && num1 > num3)
        {
            int[] array = { 1 };
            return array;
        }
        else if(num2 > num1 && num2 > num3)
        {
            int[] array = { 2 };
            return array;
        }
        else
        {
            int[] array = { 3 };
            return array;
        }
    }
    }
    
    public int random1(int x)
    {
        x = x % 5;
        if (x == 0) return 5;
        return x;
    }

    public int random2(int x)
    {
        x = x % 8;
        if (x % 2 != 0) return 2;
        else if (x == 2) return 1;
        else if (x == 4) return 3;
        else if (x == 6) return 4;
        else return 5;

    }

    public int random3(int x)
    {
        x = x % 10;
        if (x == 1 || x == 2) return 3;
        else if (x == 3 || x == 4) return 1;
        else if (x == 5 || x == 6) return 2;
        else if (x == 7 || x == 8) return 4;
        else return 5;
    }
}

각각 함수를 만들어서 총 정답 수를 구해서 비교함.

'C# 알고리즘 코드카타' 카테고리의 다른 글

59. 덧칠하기  (0) 2023.12.18
58. 소수 만들기  (0) 2023.12.14
56. 과일 장수  (0) 2023.12.12
55. 카드 뭉치  (0) 2023.12.11
54. 2016년  (0) 2023.12.08