n개의 숫자가 오름차순으로 주어집니다. 이 중 서로다른 두 개의 숫자를 골랐을 때, 두 숫자의 차가 최소가 되는 경우의 그 차이를 출력하는 프로그램을 작성해보세요.
# 변수 선언 및 입력
n = int(input())
arr = list(map(int, input().split()))
# 숫자들이 오름차순으로 주어지기 때문에,
# 두 숫자의 차의 최솟값은 반드시 인접한 두 숫자의 차 중에 최솟값이 있습니다.
# 초기값을 적습니다. 최소가 될 첫 번째 후보입니다.
min_val = arr[1] - arr[0]
# 나머지 원소들을 보며 최솟값을 갱신합니다.
for i in range(2, n):
if min_val > arr[i] - arr[i - 1]:# 지금까지 나왔던 값들 보다 더 작은 값이라면
min_val = arr[i] - arr[i - 1] # 최솟값이 되므로 그 값을 갱신합니다.
# 출력
print(min_val)
# 나의 풀이 ------------------------------------------
n = int(input())
arr = list(map(int, input().split()))
diff = 100
for i in range(n):
for j in range(i+1, n):
diff = min(diff, arr[j] - arr[i])
print(diff)
'Python > [코드트리]' 카테고리의 다른 글
[코드트리] 공백있는 문자열 한번에 입력받기 > 문자 개수 세기 (0) | 2023.07.03 |
---|---|
[코드트리] Min/Max > 가장 왼쪽에 있는 최댓값(★) (0) | 2023.07.02 |
[코드트리] Min/Max > 자동차 단일 거래 이익 최대화하기(★) (0) | 2023.07.02 |
[코드트리] Min/Max > 500 근처의 수 (0) | 2023.07.02 |
[코드트리] Min/Max > 중복되지 않는 숫자 중 최대(★) (0) | 2023.07.02 |