# 3. APS/SWEA

SWEA # Python_D1_2068_최대수 구하기 ✅

둥굴둥굴둥굴레차 2021. 2. 14. 22:50

 

 

🚧 [문제]

 

10개의 수를 입력 받아, 그 중에서 가장 큰 수를 출력하는 프로그램을 작성하라.

 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

[input]
3 
3 17 1 39 8 41 2 32 99 2
22 8 5 123 7 2 63 7 3 46
6 63 2 3 58 76 21 33 8 1  

[output]
#1 99
#2 123
#3 76
import sys
sys.stdin = open("input.txt")

T = int(input())

# 버블소트와 친해지기 위해 버블소트를 사용하여 오름차순으로 정렬해보았다.
for tc in range(1, T+1):
    numbers=list(map(int,input().split()))
    for i in range(len(numbers)-1):
        for j in range(len(numbers)-1-i):
            if numbers[j]>numbers[j+1]:
                numbers[j], numbers[j+1] = numbers[j+1], numbers[j]

    # 버블소트로 인해 가장 마지막 인덱스가 최댓값이 저장된 numbers!
    print("#{} {}".format(tc, numbers[-1]))


 

🍦 [복습]

 

# 1. 210218

버블정렬을 복습할 수 있어서 좋았다!

 

numbers[-1] 이렇게 출력하게되면 마지막 인덱스 값이 나오기 때문에 최댓값이 나온다.

그러나 이 방법은 파이써닉한 방법이기 때문에 일반적인 방법도 기억해둬야한다.

 

즉, slice 기능을 가지고 있지 않은 다른 언어로 알고리즘을 풀 때를 대비해!

전체 길이에서 -1을 빼주면 마지막 인덱스를 얻을 수 있다.

-1를 빼주는 이유는 인덱스는 0부터 시작하기 때문!

print(numbers[len(numbers)-1])