밑의 링크는 CodeUp에서의 문제 링크입니다.
문제는 링크를 통해서 직접 봐주시길 바랍니다.
주의해야 할 점
1. readline과 int나 float를 사용하는 입력 방식
readline을 사용해서 입력할 때는 맨 끝에 \n이 붙어서 입력됩니다.
하지만, 입력한 값을 int나 float으로 처리해 정수, 실수형으로 만들어 줄 때는
굳이 \n을 떼기 위해 rstrip을 사용할 필요가 없습니다.
숫자 형태를 만들어줄 때 자동으로 사라집니다.
num = int(sys.stdin.readline())
2. 파이썬에서 최댓값, 최솟값을 구하는 방법
저는 이번 문제를 풀 때 일부러 for 반복문을 사용하여 풀었습니다.
파이썬에서는 최댓값, 최솟값이 필요할 때 반복문을 사용하지 않고
쉽게 구할 수 있는 내장 함수인 max, min이 있습니다.
반복문을 사용해서 풀었다면 더 간단하게 max, min 내장 함수도 사용해서 풀어봅시다.
예제 설명
1. 첫 번째 예제
- 입력
3
7
-4
-6
5
- 출력
7
-6
- 설명
한 줄에 하나씩 입력한 5개의 정수들은 3, 7, -4, -6, 5입니다.
이 숫자들 중에서 최댓값은 7, 최솟값은 -6입니다.
따라서 첫째 줄에 최댓값인 7을, 둘째 줄에 최솟값인 -6을 출력합니다.
생각한 풀이 과정
범위가 -1,000,000 ~ 1,000,000인 정수 하나를 입력하고 int형으로 변환한 뒤,
최댓값을 저장할 변수인 max_num에 저장합니다.
최솟값을 저장할 변수인 min_num을 선언하고 max_num에 저장한 값을 똑같이 저장합니다.
5개의 정수를 입력해야 하므로, 남은 4개 정수를 입력, 비교하기 위해 4번 반복하는 반복문을 만듭니다.
범위가 -1,000,000 ~ 1,000,000인 정수를 입력하고, int형으로 변환한 뒤, 변수 num에 저장합니다.
현재 입력한 정수인 num의 값이 max_num의 값보다 크다면,
변수 max_num에 이번에 입력한 정수인 num의 값을 저장합니다.
현재 입력한 정수인 num의 값이 min_num의 값보다 작다면,
변수 min_num에 이번에 입력한 정수인 num의 값을 저장합니다.
반복문이 끝나면 5개의 정수 중 최댓값이 저장되어 있는 max_num의 값을 출력합니다.
그다음 줄에 5개의 정수 중 최솟값이 저장되어 있는 min_num의 값을 출력합니다.
제출한 파이썬 코드
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 숫자를 하나 입력합니다.
# -1,000,000 ~ 1,000,000
# int형으로 변환하고 최댓값을 저장할 변수 max_num에 저장합니다.
max_num = int(stdin.readline())
# 입력한 값을 최솟값을 저장할 변수 min_num에도 저장합니다.
min_num = max_num
# 5개의 정수를 비교해야하므로 남은 네 번을 반복해봅니다.
for _ in range(4):
# 숫자를 하나 입력합니다.
# # -1,000,000 ~ 1,000,000
# int형으로 변환합니다.
num = int(stdin.readline())
# 현재 입력한 숫자가 max_num의 값보다 크다면
if num > max_num:
# max_num에 현재 숫자의 값을 저장합니다.
max_num = num
# 현재 입력한 숫자가 min_num의 값보다 작다면
if num < min_num:
# min_num에 현재 숫자의 값을 저장합니다.
min_num = num
# 입력한 5개의 정수 중 최댓값이 저장되어 있는 max_num의 값을 출력합니다.
print(max_num)
# 입력한 5개의 정수 중 최솟값이 저장되어 있는 min_num의 값을 출력합니다.
print(min_num)
제출 결과
댓글