티스토리 뷰

 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

'Python > Algorithm' 카테고리의 다른 글

백준 2439 : 별 찍기(2)  (0) 2021.01.23
백준 2438 : 별 찍기(1)  (0) 2021.01.23
백준 8393 : 합  (0) 2021.01.21
백준 1924 : 2007년  (0) 2021.01.21
백준 2739 : 구구단  (0) 2021.01.21
댓글