728x90
문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
코드1
cnt = int(input())
numbers = list(map(int, input().split()))
max = numbers[0]
min = numbers[0]
for i in numbers[1:]:
if i > max:
max = i
elif i < min:
min = i
print(min,max)
코드2
cnt = int(input())
numbers = list(map(int, input().split()))
print(min(numbers),max(numbers))
코드설명
cnt에 정수의 개수를 입력 받고, numbers에 정수를 입력받는다. input().split()을 이용하여 공백으로 구분한다.
max와 min에 각 각 numbers의 첫번째 요소를 넣어준다.
for문에서 numbers의 2번째 요소부터 마지막 요소까지 차례로 비교해준다.
max보다 크면, max값을 바꿔주고
min보다 작으면, min값을 바꿔준다.
print()로 최댓값, 최솟값을 출력한다.
cnt = int(input())
numbers = list(map(int, input().split()))
max = numbers[0]
min = numbers[0]
for i in numbers[1:]:
if i > max:
max = i
elif i < min:
min = i
print(min,max)
위의 코드에서 max, min을 정의하고 for문을 통해 비교하는 코드를 파이썬에서는 작성할 필요가 없다.
파이썬의 내장함수 min(), max()를 이용하면 최댓값과 최솟값을 편하게 구할 수 있다.
cnt = int(input())
numbers = list(map(int, input().split()))
print(min(numbers),max(numbers))
728x90
'Language > Python' 카테고리의 다른 글
[BAEKJOON]백준 3052번: 나머지 파이썬 (0) | 2021.02.05 |
---|---|
[BAEKJOON]백준 10871번: X보다 작은 수 파이썬 (0) | 2021.02.05 |
[BAEKJOON]백준 10951번: A+B -4 파이썬 (0) | 2021.02.03 |
[BAEKJOON]백준 4344번: 평균은 넘겠지 파이썬 (0) | 2021.02.01 |
[점프투파이썬]5장 연습문제 (0) | 2021.01.07 |