자바의 primitive 타입의 배열에서 최대/최소값 찾기

조회수 1149회

다음과 같이 배열의 최대/최소값을 찾는 함수를 직접 작성하는 일은 다소 귀찮습니다:

/**
 * 
 * @param chars
 * @return char 배열에서의 최대값
 */
private static int maxValue(char[] chars) {
    int max = chars[0];
    for (int ktr = 0; ktr < chars.length; ktr++) {
        if (chars[ktr] > max) {
            max = chars[ktr];
        }
    }
    return max;
}

이미 정의된 함수가 있나요?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    Commons.Lang(전환목적)과 Collection(최대/최소값 찾기 목적)을 사용합니다.

    import java.util.Arrays;
    import java.util.Collections;
    
    import org.apache.commons.lang.ArrayUtils;
    
    public class MinMaxValue {
    
        public static void main(String[] args) {
            char[] a = {'3', '5', '1', '4', '2'};
    
            List b = Arrays.asList(ArrayUtils.toObject(a));
    
            System.out.println(Collections.min(b));
            System.out.println(Collections.max(b));
       }
    }
    

    Arrays.asList()가 본래 배열을 감싸는 것이기 때문에 메모리 부담이 없고 배열 내 원소의 복사본을 만들지 않습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)