관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[알고리즘] 프로그래머스 모의고사 -완전탐색- 자바, 코틀린 본문

알고리즘/DFS, BFS, 시뮬, 백트래킹

[알고리즘] 프로그래머스 모의고사 -완전탐색- 자바, 코틀린

막무가내막내 2021. 7. 5. 18:20
728x90

 

 

https://programmers.co.kr/learn/courses/30/lessons/42840?language=kotlin 

 

코딩테스트 연습 - 모의고사

수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는

programmers.co.kr

 

프로그래머스 모의고사 문제를 풀어봤습니다. 

쉬운 문제로 별도의 설명은 필요 없을 것 같습니다. !

 

 

[Java]

import java.util.ArrayList;
import java.util.List;

class Solution {
    public int[] solution(int[] answers) {
        int[] score = new int[3];
        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};
        for(int i=0; i<answers.length; i++) {
            if(answers[i] == a[i%a.length]) score[0]++;
            if(answers[i] == b[i%b.length]) score[1]++;
            if(answers[i] == c[i%c.length]) score[2]++;
        }
        int max = Math.max(score[0], Math.max(score[1], score[2]));
        List<Integer> list = new ArrayList<>();
        if(max == score[0]) {list.add(1);}
        if(max == score[1]) {list.add(2);}
        if(max == score[2]) {list.add(3);}
        int[] answer = new int[list.size()];
        for (int i=0; i< list.size(); i++){
            answer[i] = list.get(i);
        }
        return answer;
    }
}

 

[Kotlin]

import java.util.*

internal class Solution {
    fun solution(answers: IntArray): IntArray {
        val score = IntArray(3)
        val a = intArrayOf(1, 2, 3, 4, 5)
        val b = intArrayOf(2, 1, 2, 3, 2, 4, 2, 5)
        val c = intArrayOf(3, 3, 1, 1, 2, 2, 4, 4, 5, 5)
        for (i in answers.indices) {
            if (answers[i] == a[i % a.size]) score[0]++
            if (answers[i] == b[i % b.size]) score[1]++
            if (answers[i] == c[i % c.size]) score[2]++
        }
        val max = score[0].coerceAtLeast(score[1].coerceAtLeast(score[2]))
        val list: MutableList<Int> = ArrayList()
        if (max == score[0]) {
            list.add(1)
        }
        if (max == score[1]) {
            list.add(2)
        }
        if (max == score[2]) {
            list.add(3)
        }
        val answer = IntArray(list.size)
        for (i in list.indices) {
            answer[i] = list[i]
        }
        return answer
    }
}

 

 

 

댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!

728x90
Comments