Algorithm | 합계, 평균, 최대값, 최소값, 데이터 교환


합계

배열의 모든 요소의 합한 값을 구한다.
요소 하나 하나에 꺼내와서 sum에 더해 가는 방식이다.

package com.devkuma.algorithum.programming.basic;

public class Sum {

    int sum(int[] nums) {
        int sum = 0;
        for (int num : nums) {
            sum += num;
        }
        return sum;
    }

    public static void main(String[] args) {
        Sum sum = new Sum();

        int[] nums = {1, 4, 3,  8, 5};
        System.out.println("합계: " + sum.sum(nums));
    }
}

실행 결과:

합계: 21

평균

총 값을 데이터 수로 나눈 값이 평균값이다.

package com.devkuma.algorithum.programming.basic;

public class Average {
    int average(int[] nums) {
        int sum = 0;
        for (int num : nums) {
            sum += num;
        }
        return sum / nums.length;
    }

    public static void main(String[] args) {
        Average average = new Average();

        int[] nums = {1, 4, 3, 8, 5};
        System.out.println("평균:" + average.average(nums));
    }
}

실행 결과:

합계: 21

최대값

package com.devkuma.algorithum.programming.basic;

public class Max {
    int max(int[] nums) {
        int max = 0;
        for (int num : nums) {
            if (max < num) {
                max = num;
            }
        }
        return max;
    }

    public static void main(String[] args) {
        Max max = new Max();

        int[] nums = {1, 4, 3, 8, 5};
        System.out.println("최대값:" + max.max(nums));
    }
}

실행 결과:

합계: 21

최소값

package com.devkuma.algorithum.programming.basic;

public class Min {
    int min(int[] nums) {
        int min = Integer.MAX_VALUE;
        for (int num : nums) {
            if (min > num) {
                min = num;
            }
        }
        return min;
    }

    public static void main(String[] args) {
        Min min = new Min();

        int[] nums = {1, 4, 3, 8, 5};
        System.out.println("최소값:" + min.min(nums));
    }
}

데이터 교환

단순히 두 개의 데이터를 바꿀 때는 그 데이터가 들어간 변수와 임시 변수(temp)를 하나 준비한다.
이유는 2개 밖에 없는 경우는 한쪽을 바꾸면, 다른 쪽에 넣을 데이터가 이미 덮어쓰여져 버리기 때문이다.

package com.devkuma.algorithum.programming.basic;

public class Swap {

    public static void main(String[] args) {
        int a = 1;
        int b = 2;

        int temp = a;
        a = b;
        b = temp;

        System.out.println("a:" + a); // 2
        System.out.println("b:" + b); // 1
    }
}

실행 결과:

합계: 21