백준 10818 : 최소, 최대
Python3
전체 코드 ( min, max함수 사용 X ) :
N = int(input())
List = list(map(int, input().split()))
min = 1000000
max = -1000000
for num in List:
if(min > num):
min = num
if(max < num):
max = num
print(min, max)
여기서 N을 입력 받지만 해당 1번째줄 코드는 사용하지 않는다.
리스트 List에 list(map(int, input().split())) 으로 띄어쓰기로 나누어 숫자만 리스트에 저장한다.
min = 1000000
max = -1000000
나는 문제에서 '모든 정수는 -1,000,000 보다 크거나 같고, 1,000,000 보다 작거나 같은 정수' 라는 글에서 이렇게 min과 max를 임의로 정해 두었다.
min = List[0]
max = List[0]
이렇게도 할 수 있겠다.
for num in List:
if(min > num):
min = num
if(max < num):
max = num
for문에서 변수 num은 리스트 List의 요소들을 돌면서
min보다 작으면, min에 대입하고,
max보다 크면, num을 max에 대입해준다.
그럼 이번에는 함수를 이용해서 짧게 문제를 해결해 보겠다.
전체 코드 ( min, max함수 사용 ) :
N = int(input())
List = list(map(int, input().split()))
print('{} {}'.format(min(List), max(List)))
min() / max() 함수 이용
min(iterable) -> value
max(iterable) -> value
min(리스트) 함수를 이용하여 리스트 값들 중 가장 작은 값을 반환한다.
max(리스트) 함수도 마찬가지로 가장 큰 값을 반환한다.
위 함수들을 이용하여 문제를 간단하게 풀 수 있다.
print('{} {}'.format(min(List), max(List)))
여기서 format은 포매팅이라는 것인데, 자세하게는 다른 글에서 다루겠다.
간단하게 말해서는 문자열을 이쁘게 만드는 방법이다.
첫 번째 {} 에 min(List) 값이,
두 번째 {} 에 max(List) 값이 대입된다.
해당 문제 : https://www.acmicpc.net/problem/10818
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
