#36. 백준 10818번 문제 풀이: 최소, 최대 | 문제 원본 보기 |
--입력-- 5 20 10 35 30 7 --출력-- 7 35
루프를 돌리면서 최대값과 최솟값을 비교하면서 값을 저장해 둔다. 중요한 것은 처음 초기값을 정하는 일이다. 문제 조건에 정수 -1,000,000 과 1,000,000 사이라 했으니 초기값을 최댓값 -1,000,000, 최솟값을 1,000,000 으로 잡는 방법이 있다. 다른 방법은 첫번째 입력된 값을 최솟값과 최댓값으로 잡는 방법도 있다. 여기서는 첫번째 입력값을 최대, 최솟값으로 초기화 하고 풀어 보자. -- 최솟값=첫번째 입력값 최댓값=첫번째 입력값 루프: if(최솟값 > 비교값) 최솟값 = 비교값 if(최댓값 < 비교값) 최댓값 = 비교값 출력(최솟값, 최댓값)
n = int(input())
# 숫자를 입력받아 정수로 변환해서 n(정수의 개수) 에 대입
a = list(map(int, input().split()))
# 공백문자 구분으로 숫자열을 받아서 정수로 변환 후 리스트로 저장.
for i in range(n): # 주어진 개수 만큼 루프
if i == 0:
min = max = a[i] # 최대/최소값 초기값은 첫번 째 입력 값으로 세팅
else:
if min > a[i]: # 최솟값보다 작으면 값 변경
min = a[i]
if max < a[i]: # 최댓값보다 크면 값 변경
max = a[i]
print(min, max) # 최솟값 최댓값 출력