SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
소스코드
import java.io.*;
import java.util.StringTokenizer;
class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
int t = Integer.parseInt(br.readLine());
for (int i = 0; i < t; i++) {
st = new StringTokenizer(br.readLine(), " ");
double a = Double.parseDouble(st.nextToken());
double b = Double.parseDouble(st.nextToken());
double c = Double.parseDouble(st.nextToken());
double result1, result2, result3, min;
result1 = Math.abs((c-b) - (b-a)); // a를 바꿔서 등차수열이 되게 하는 값
result2 = Math.abs((c+a)/2 - b); // b를 바꿔서 등차수열이 되게 하는 값
result3 = Math.abs((b-a) - (c-b)); // c를 바꿔서 등차수열이 되게 하는 값
min = result1;
min = Math.min(min, result2);
min = Math.min(min, result3);
// 소수 첫째 자리까지
min = (min*10) / 10;
sb.append("#" + (i + 1) + " " + min + "\n");
}
System.out.println(sb);
}
}
해결 방법
- a 또는 b 또는 c에 x를 더하여 등차수열이 될 수 있다.
- a, b, c 각각을 바꿔서 등차수열이 되게 하는 값을 구한다.
- 세 값중 가장 작은 값을 StringBuilder에 저장한다.
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA] 9658번 : 유효숫자 표기 (1) | 2023.11.02 |
---|---|
[SWEA] 16910번 : 원 안의 점 (0) | 2023.10.26 |
[SWEA] 2001번 : 파리 퇴치 (1) | 2023.10.23 |
[SWEA] 1206번 : View (0) | 2023.10.22 |
[SWEA] 1954번 : 달팽이 숫자 (1) | 2023.10.21 |