0101011001010111

Kotlin_ 최빈값 구하기 본문

Kotlin/알고리즘문제 _ Kotlin

Kotlin_ 최빈값 구하기

[진주] 2023. 9. 14. 16:00
728x90
반응형

문제 설명


최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.

 

 

제한사항
0 < array의 길이 < 100
0 ≤ array의 원소 < 1000


입출력 예
array result
[1, 2, 3, 3, 3, 4] 3
[1, 1, 2, 2] -1
[1] 1

 


입출력 예 설명


입출력 예 #1
[1, 2, 3, 3, 3, 4]에서 1은 1개 2는 1개 3은 3개 4는 1개로 최빈값은 3입니다.


입출력 예 #2
[1, 1, 2, 2]에서 1은 2개 2는 2개로 최빈값이 1, 2입니다. 최빈값이 여러 개이므로 -1을 return 합니다.


입출력 예 #3
[1]에는 1만 있으므로 최빈값은 1입니다.

class Solution {
    fun solution(array: IntArray): Int {
        var answer: Int = 0
        return answer
    }
}

 


먼저, 최빈값은 가장 많이 나온 숫자!

제한 사항 부터 맞춰보자.

 

 

IntArray는, 정수배열값이다 ( 정수값만 배열에 들어감! )

class Solution {

    fun solution(): IntArray {

        val size = Random.nextInt(0, 100)// 배열의 길이 1초과 100미만설정
        return IntArray(size) {Random.nextInt(1000)} // 그 안에 들어갈값 1000미만 (0~999까지)
    }
}

이제 길이를 설정해줘야하는데, 배열의 크기가 0초과 ~ 100미만이므로,  1~99임

 

여기서 

 

 

IntArray(size) { ... }

IntArray에서는 안에 사이즈가 얼마나 클지, 꼭 설정해줘야하는데, 

 

val size = Random.nextInt(1,100)로 범위를 미리 지정 해 준 뒤, 

 

return IntArray(size) {Random.nextInt(1000)} 로, size에 해당 값을 넣어 주었으므로 코드는 성립된다.

 

 

IntArray(size) 괄호안에 사이즈 크기는 필수로 작성해 주어야 하며, 안 작성할 시 오류가 발생한다! 

 


자 이제 길이가 1~99까지인 정수배열에, 랜덤값으로 0~999까지 넣는 배열이 완성 되었다.

 

이렇게 랜덤값이 들어갔을 때에 가장 많이 나오는 즉, 최빈값을 구해야한다.

 

최빈값을 구하는 공식을 짜보자.

 

 

(다음에..) 

728x90
반응형