본문 바로가기
Algorithm/구현

[Python3] 백준 10818번 최소, 최대

by HANNI하니 2021. 12. 28.

try 1 times / 난이도 : ★

문제 확인

 

10818번: 최소, 최대

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

www.acmicpc.net

코드 깃허브 확인

 

GitHub - yyeongeun/codingtest: 코딩테스트 공부

코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.

github.com

정답 해설

N = int(input()) # 정수의 개수 N
numbers = list(map(int,input().split())) # N개의 정수들

# 내가 한 방법
print(min(numbers),max(numbers),end=' ')

 

공부한 내용

1.  list()

여러 값을 한 변수에 input하는 경우, list()로 지정해줘야한다.

그렇지 않으면 오류뜬다.

 

2. print format 이용하기

print('{} {}'.format(min(numbers),max(numbers)))

 

3. 다른 풀이 이해하기

1. sort로 정렬하는 방법

오름차순으로 numbers를 정렬하면 가장 왼쪽 값은 최소값, 가장 오른쪽 값은 최대값이 된다.

min, max 함수 사용할 필요 없다.

numbers.sort()
print(numbers[0],numbers[-1])

 

2. 첫 값을 각 값들과 비교하면서 더 큰지 작은지 비교하는 방법

max = numbers[0]
min = numbers[0]

for i in numbers[1:]:
    if i > max:
        max = i
    elif i < min:
        min = i

print(min,max)
 

[BAEKJOON]백준 10818번: 최소, 최대 파이썬

문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해

bambbang00.tistory.com

 

 

댓글