주어진 정수 배열에서 최대값과 최소값을 찾아 출력하는 프로그램을 작성한다. 배열의 크기는 0 이상 100 이하이다.
입력 예시
첫째 줄에 배열의 크기 N이 주어진다. 둘째 줄에 N개의 정수가 공백으로 구분되어 주어진다.
출력 예시
최대값과 최소값을 각각 "Maximum: 값", "Minimum: 값" 형식으로 출력한다.
예제 테스트케이스
예제 1
입력 예시
출력 예시
5
1 2 3 4 5
Maximum: 5
Minimum: 1
예제 2
입력 예시
출력 예시
1
7
Maximum: 7
Minimum: 7
✔ 코드
N = int(input())
if N > 0:
arr = list(map(int, input().split()))
print(f"Maximum: {max(arr)}")
print(f"Minimum: {min(arr)}")
1. 문법 요소 설명
1.1 입력 처리: input() 및 형변환
N = int(input())
- input() 함수는 표준 입력으로부터 문자열을 읽어 반환한다.
- 반환값은 문자열이므로, 정수 연산을 위해 int()를 사용하여 정수형으로 변환한다.
1.2 조건문: if
if N > 0:
- 조건식이 참일 경우에만 코드 블록이 실행된다.
- 본 문제에서는 배열이 존재하는 경우에만 입력 및 연산을 수행하기 위한 제어 구조이다.
1.3 문자열 분할: split()
input().split()
- 입력된 문자열을 공백 기준으로 분리하여 문자열 리스트로 반환한다.
- 예: "1 2 3" → ["1", "2", "3"]
1.4 함수 적용: map()
map(int, input().split())
- iterable의 각 요소에 대해 int 함수를 적용한다.
- 문자열을 정수로 변환하는 데 사용된다.
1.5 리스트 생성: list()
arr = list(map(int, input().split()))
- map 객체를 리스트로 변환하여 실제 데이터 구조로 저장한다.
- 결과적으로 정수형 리스트가 생성된다.
1.6 최댓값 및 최솟값: max(), min()
max(arr)
min(arr)
- 리스트 내 모든 요소를 순차적으로 비교하여 최대값과 최소값을 반환한다.
- 시간 복잡도는 O(N)이다.
1.7 출력: print() 및 f-string
print(f"Maximum: {max(arr)}")
- f-string을 사용하여 문자열 내에 값을 삽입한다.
- {} 내부의 표현식이 평가되어 문자열로 출력된다.
다음은 요청한 내용을 이모지 없이 정리한 것이다.
코드
N = int(input())
if N > 0:
arr = list(map(int, input().split()))
print(f"Maximum: {max(arr)}")
print(f"Minimum: {min(arr)}")
2. 주의 포인트
2.1 N = 0인데 배열 입력 받는 경우
arr = list(map(int, input().split()))
- N=0이면 입력 줄이 존재하지 않는다.
→ EOFError 발생
해결
if N > 0:
2.2 split() 괄호 빠뜨림
input().split # 잘못된 형태
input().split() # 올바른 형태
- 함수가 실행되지 않아 오류가 발생한다.
2.3 출력 형식 오타
MAximum
Minmum
- 채점은 문자열을 완전히 일치시켜 비교한다.
→ 한 글자라도 다르면 오답
✔ 핵심 요약
- input() → 문자열 입력
- int() → 정수 변환
- split() → 문자열 분리
- map() → 요소 변환
- list() → 리스트 생성
- max/min → 값 계산
- print() → 출력
'Univ > Python Programming' 카테고리의 다른 글
| [문제 09] 배열에서 중복 제거하기 - Python 풀이 (0) | 2026.04.15 |
|---|---|
| [문제 08]숫자의 합 구하기 - Python 풀이 (0) | 2026.04.15 |
| [백준-2444] 별 찍기 - 7 코드 개선 - Python 풀이 (4) | 2026.04.10 |
| [문제 06] X 모양 별 그리기 - Python 풀이 (1) | 2026.04.09 |
| [문제 05] 별로 세모 그리기 - Python 풀이 (0) | 2026.04.09 |