728x90
문제
상근이는 등차수열을 이루는 정수 4개를 골랐다.
이것은 상근이가 고른 수 4개를 정렬했을 때, 인접한 쌍의 차이가 일정하다는 것을 의미한다.
그 다음 이렇게 고른 수 4개를 노래로 만들어서 외우고 다닌다.
어느 날, 상근이는 자신이 고른 4개 수 중 1개를 까먹었다.
상근이가 기억하고 있는 수 세 개가 주어졌을 때, 까먹은 수를 구하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/2997
입력
첫째 줄에 상근이가 고른 4개의 수 중 3개가 주어진다.
이 수는 크기 순이 아닐 수도 있고, -100보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
첫째 줄에 까먹은 수를 출력한다.
정답이 여러 개일 경우에는 아무거나 출력하면 된다.
또한 정답이 존재하지 않는 경우는 입력으로 주어지지 않는다.
예제
# input
4 6 8
# output
10
# input
10 1 4
# output
7
문제 풀이
# 1
L = sorted(list(map(int, input().split())))
if L[1] - L[0] == L[2] - L[1]:
print(L[2] + L[2] - L[1])
elif L[1] - L[0] < L[2] - L[1]:
print(L[1] + L[1] - L[0])
else:
print(L[0] + L[2] - L[1])
# 2
L = sorted(list(map(int, input().split())))
gap = min(L[1]-L[0], L[2]-L[1])
for i in L:
if i + gap not in L:
print(i+gap)
break
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90