본문 바로가기
알고리즘/CodeUp PS

[CodeUp][Python] 1286번 : 최댓값, 최솟값

by 빛밤하늘 2021. 9. 23.
반응형

밑의 링크는 CodeUp에서의 문제 링크입니다.

문제는 링크를 통해서 직접 봐주시길 바랍니다.

 

최댓값, 최솟값

$5$개의 정수가 한 줄에 하나씩 입력된다.(범위 : $-1,000,000$ ~ $1,000,000$)

codeup.kr

 

 

 

주의해야 할 점

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)

 

 

제출 결과

CodeUp 1286번 : 최댓값, 최솟값에서 코드 제출 결과
CodeUp 1286번 : 최댓값, 최솟값에서 코드 제출 결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

※ 공감 버튼과 구독 버튼도 잊지 말고 꾹 눌러주시면 감사하겠습니다~👍👍

반응형

댓글