City At Night

[알고리즘_기초] 1. 최댓값 구하기 (Python,Java) 본문

알고리즘 기초(Python,Java)

[알고리즘_기초] 1. 최댓값 구하기 (Python,Java)

Wuny 2021. 2. 7. 19:55
728x90
반응형

사용자의 입력을 받아서 최댓값을 구합니다. 

입력의 예시는 17, 92, 18, 33, 58, 7, 33, 42 입니다.

코드 아래에 알고리즘 분석 있습니다.!

<Find_Max.py>

# v = [17, 92 , 18, 33, 58, 7, 33, 42]


def find_max(numbers):
    max_v = numbers[0]
    n = len(numbers)
    for i in range(0,n):
        if numbers[i] > max_v:
            max_v = numbers[i]
    return max_v

numbers = []
for i in range(1,9):
    value = int(input())
    numbers.append(value)

print("=============")
print("최댓값: ",find_max(numbers))

 

<Find_Max.java>

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        List<Integer> number = new ArrayList<>();

        for(int i = 0; i<8;i++){
            int a = sc.nextInt();
            number.add(a);
            System.out.println("number["+i+"]"+": "+ number.get(i));
        }
        System.out.println(number);
        find_num(number);

    }

    private static void find_num(List<Integer> number) {
        Integer Max_num = number.get(0);
        for(int i = 0; i<number.size(); i++){
            if(Max_num < number.get(i)){
                Max_num = number.get(i);
            }
        }
        System.out.println(Max_num);
    }

}

 

[알고리즘 분석]

1. 사용자의 입력을 배열로 담아두고 

2. 첫번째의 값(Index[0])을 하나의 변수에 초기화합니다. (설명을 위해 이 변수를 A라 하겠다.)

3. 그 다음 순차적으로 배열을 순회하면서  A값과 배열의 [0]번 값을 비교합니다.

    (A값과 [0]번 값은 같으니 인덱스 [1]번 값부터 비교해도 됨)

4. 만약 배열의 [n]번 값이 A보다 크면 (A < list[n])

    변수 A에  배열[n]값으로 초기화 합니다.

 

 

 

728x90
반응형
Comments