본문 바로가기
코딩테스트

프로그래머스 '모의고사' 코테풀이

by 생각스택 2025. 1. 22.
반응형

프로그래머스에서

코틀린 언어, 레벨 1 난이도, 정답률이 높은 순서대로 문제를 풀고 있습니다.

사이트: https://school.programmers.co.kr/learn/challenges?order=acceptance_desc&levels=1&languages=kotlin&page=3

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

에서 3페이지로 가셔서

내려가다보면 문제를 발견하실 수 있습니다.

문제를 들어가셔서 읽어보시면

문제를 이해하실 수 있습니다.

제 풀이는 이렇습니다.

class Solution {
    fun solution(answers: IntArray): IntArray {
        var answer = intArrayOf()
        val answer1 = listOf(1, 2, 3, 4, 5)
        val answer2 = listOf(2, 1, 2, 3, 2, 4, 2, 5)
        val answer3 = listOf(3, 3, 1, 1, 2, 2, 4, 4, 5, 5)
        val answerList = mutableListOf<Int>()
        var answer1Count = 0
        var answer2Count = 0
        var answer3Count = 0
        
        for(i in answers.indices){
            if(answers[i] == answer1[i % 5]){
                answer1Count++
            }
            if(answers[i] == answer2[i % 8]){
                answer2Count++
            }
            if(answers[i] == answer3[i % 10]){
                answer3Count++
            }
        }
        val maxValue = listOf(answer1Count, answer2Count, answer3Count).maxOrNull()
        if(maxValue == answer1Count){
            answerList.add(1)
        }
        if(maxValue == answer2Count){
            answerList.add(2)
        }
        if(maxValue == answer3Count){
            answerList.add(3)
        }
                
        return answerList.toIntArray()
    }
}

읽어주셔서 감사합니다.

궁금하신 점이나 더 나은 답변이 있으시면 댓글로 알려주세요

 

반응형