반응형
백준 10818번 / 최소, 최대 : https://www.acmicpc.net/problem/10818
이번 문제는 N개의 정수가 주어졌을 때, 이 중에서 최솟값과 최댓값을 찾아 공백으로 구분하여 출력하는 프로그램을 만드는 것이다.
문제를 푸는 발상 자체는 누구나 간단하게 할 수 있다.
다만 제목에도 적어놨듯이 반복문을 사용하는 것은 추천하지 않는다.
나는 처음에 반복문 두개를 중첩하여 리스트를 반복하여 순회하는 코드를 만들었다가 시간 초과가 발생하는 것을 보았고, 다른 방법으로 해결하였다.
아래가 처음 만든 코드이다.
N = int(input())
T = list(map(int, input().split()))
max = 0
min = 0
for i in T:
for j in T:
if i >= j and i > max:
max = i
if i <= j and:
min = i
print(f"{min} {max}")
그리고 다음으로 만든 코드가 리스트와 관련된 내장 함수를 사용하여 간소화한 코드이다.
N = int(input())
T = list(map(int, input().split()))
max = max(T)
min = min(T)
print(f"{min} {max}")
훨씬 더 간소함을 알 수 있다.
아래는 출력 결과이다.
반응형
'파이썬 > 예제' 카테고리의 다른 글
백준 10810번 공 넣기 - 리스트 & 조건문 (0) | 2025.05.19 |
---|---|
백준 2562번 최댓값 - 리스트 활용하기 (0) | 2025.05.19 |
백준 10871번 X보다 작은 수 - join()을 사용하자 (0) | 2025.05.19 |
백준 10807번 개수세기 - 리스트를 만들자 (0) | 2025.05.19 |
백준 10951번 A+B (5) - 간단하지만 조심 (0) | 2025.05.18 |