안녕하세요.
오늘은 파이썬의 sort 함수를 알아보겠습니다.
오늘도 백준 문제를 풀었는데 솔루션 중에 sort 함수를 사용한게 보여서 찾아보았습니다.
문제 번호는 10818번 최소, 최대 문제입니다.
문제는 이겁니다.
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
n = int(input())
m = list(map(int, input().split()))
m.sort()
print(m[0],m[n-1])
솔루션은 요렇습니다.
변수 n에 정수의 갯수를 입력받고,
변수 m에 n개의 데이터를 입력받습니다.
이때, 입력받은 데이터는 list() 함수를 이용해 리스트형 데이터로 전환되고,
이전에 배웠던 map() 함수를 이용해 정수형 데이터로 전환됩니다.
그다음에 sort() 함수가 나옵니다.
sort() 함수의 역할은 리스트형 데이터를 오름차순으로 정렬하는 것 입니다.
만약 내가 변수 m에 [5, 3, 1, 2, 4]를 입력하였다면,
sort() 함수를 거쳤을때 변수 m은 [1, 2, 3, 4, 5]로 초기화됩니다.
간단하죠?
이제 print() 함수를 이용하여 정렬된 변수 m에 들어있는 첫번째와 마지막 데이터를 출력합니다.
이때, 처음에 변수 n에 초기화해준 정수의 갯수를 활용합니다.
컴퓨터는 1부터 세는게 아니라 0부터 셉니다.
그래서 리스트형 데이터 [1, 2, 3, 4, 5]에서 1번째 데이터는 1이 아니라 2입니다.
0번째 데이터가 1인 것이죠.
마찬가지로 print(m[0])의 출력값이 1이고
print(m[1])의 출력값이 2입니다.
그러므로 print(m[4])의 출력값이 5입니다.
우리는 변수 n에 몇 개의 데이터를 사용할건지 입력하기로 했습니다.
만약 변수 m에 5개의 데이터를 입력받기로 했다면 변수 n에는 숫자 5가 들어가 있을겁니다.
그렇기 때문에 리스트형 변수 m에서 마지막 데이터를 뽑아내기 위해서는 n-1을 해줘야 합니다.
'코딩 > 파이썬' 카테고리의 다른 글
파이썬 나눗셈 몫과 나머지 구하기(feat.백준 1271 엄청난 부자2) (0) | 2022.09.13 |
---|---|
파이썬 abs 함수를 알아보자(feat. 백준 1002번 터렛 문제) (0) | 2022.09.09 |
파이썬 map 함수를 알아보자 (0) | 2022.09.07 |
파이썬으로 여러개의 엑셀 파일을 합병하기 (0) | 2022.07.19 |
파이썬으로 여러개의 한글 파일을 PDF 파일로 변환하기(hwp to pdf) (8) | 2022.07.06 |