Dev/PS
[백준/BOJ] 10818번: 최소, 최대 (Python) 풀이
KangJerry
2024. 5. 27. 23:44
Baekjoon Online Judge (BOJ) 의 10818번 문제인 '최소, 최대' 를 풀어보았다.
[문제 정보]
https://www.acmicpc.net/problem/10818
문제 개요:
N개의 정수가 주어지고, 이 N개의 정수들 중 최솟값과 최댓값을 구하면 되는 문제이다.
이 문제는 파이썬에서는 두 가지 방법이 있기에 두 방법 모두 풀이해 보려고 한다.
모든 코드에서 공통되는 1번 방법, 파이썬 내장 함수를 활용한 2번 방법이 있다.
1번 방법 알고리즘:
- N(정수의 개수), 공백으로 구분된 N개의 정수를 입력받아서 list 형태로 만들어 arr 변수에 초기화시킨다.
- 최솟값 최댓값을 구해야하므로, 비교를 위하여 maxVal, minVal 변수를 만들고 각각 0번째 arr 값으로 초기화시킨다.
- arr의 길이만큼 반복하는 반복문을 만든다.
- i번째 arr 값과 maxVal 값을 비교하여 maxVal이 더 작을 경우, 즉 현재 가리킨 값이 들어있는 최댓값보다 더 크다는 말과 같기에 현재 가리키는 arr 값을 maxVal에 초기화시킨다.
- i번째 arr 값과 minVal 값을 비교하여 minVal이 더 클 경우, 즉 현재 가리킨 값이 들어있는 최솟값보다 더 작다는 말과 같기에 현재 가리키는 arr 값을 minVal에 초기화시킨다.
- 위 과정을 반복문이 끝날때 까지 반복하고, 구해진 최솟값과 최댓값을 출력해준다.
1번 방법 코드:
N = int(input())
arr = list(map(int, input().split()))
maxVal = arr[0]
minVal = arr[0]
for i in range(0, len(arr)):
if arr[i] > maxVal:
maxVal = arr[i]
if arr[i] < minVal:
minVal = arr[i]
print(minVal, maxVal)
2번 방법 알고리즘:
2번 방법은 딱히 알고리즘이랄게 없이, 파이썬의 내장함수인 min(), max()를 사용하면 list의 값 중 가장 작은, 가장 큰 값을 찾아내준다.
- N(정수의 개수), 공백으로 구분된 N개의 정수를 입력받아서 list 형태로 만들어 arr 변수에 초기화시킨다.
- 파이썬의 내장함수인 min(), max()를 활용하여 바로 최솟값과 최댓값을 출력해준다.
2번 방법 코드:
N = int(input())
arr = list(map(int, input().split()))
print(min(arr), max(arr))
위 풀이에 대한 질문이나 틀린 정보가 있다면 댓글로 말씀해 주시면 감사하겠습니다!
728x90