문제
상근이는 등차수열을 이루는 정수 4개를 골랐다. 이것은 상근이가 고른 수 4개를 정렬했을 때, 인접한 쌍의 차이가 일정하다는 것을 의미한다. 그 다음 이렇게 고른 수 4개를 노래로 만들어서 외우고 다닌다.
어느 날, 상근이는 자신이 고른 4개 수 중 1개를 까먹었다. 상근이가 기억하고 있는 수 세 개가 주어졌을 때, 까먹은 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 상근이가 고른 4개의 수 중 3개가 주어진다. 이 수는 크기 순이 아닐 수도 있고, -100보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
첫째 줄에 까먹은 수를 출력한다. 정답이 여러 개일 경우에는 아무거나 출력하면 된다. 또한 정답이 존재하지 않는 경우는 입력으로 주어지지 않는다.
풀이
입력받은 세 정수에 대해 정렬을 한 후 1, 2번째 정수의 차( diff1 )와 2, 3번째 정수의 차( diff2 )의 비교를 통해 아래와 같이 등차수열이 만족하는지 판별이 가능하다.
- diff1 == diff2 : 입력받은 수가 전부 등차수열인 경우
- diff1 < diff2 : 입력받은 수 중 3번째 수가 등차수열이 아닌 경우
- diff1 > diff2 : 입력받은 수 중 1번쨰 수가 등차수열이 아닌 경우
diff1, diff2의 비교에 따라 등차수열을 만족하는 수를 계산 후 출력하자.
소스코드
출처
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 03047] ABC [Java] (1) | 2023.11.21 |
---|---|
[백준 03004] 체스판 조각 [Java] (0) | 2023.11.21 |
[백준 02991] 사나운 개 [Java] (2) | 2023.11.21 |
[백준 02985] 세 수 [Java] (0) | 2023.11.18 |
[백준 02975] Transactions [Java] (0) | 2023.11.16 |