관리 메뉴

100세까지 코딩

[SWEA] 18662. 등차수열 (JAVA) 본문

코딩테스트/자바

[SWEA] 18662. 등차수열 (JAVA)

100세까지 코딩 2023. 11. 6. 16:04
문제 설명

※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.

https://swexpertacademy.com/main/code/problem/problemDetail.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

풀기 전 생각
  • 등차수열의 조건을 생각한다. ( 2 * b = a + c )
  • a나 c값에 더하거나 빼는 조건  = ( 2 * b - (a + c) )
  • b값에 더하거나 빼는 조건 = ( b - ((a+c) / 2) )
  • 두 상황 중 절댓값이 더 작은 것 출력
  • 수점 1자리까지 출력
코드
package algorithm;

import java.util.Scanner;
import java.io.FileInputStream;

class SWEAtest {
    static int[] arr = new int[3];

    public static void main(String args[]) throws Exception {

        Scanner sc = new Scanner(System.in);
        int T;
        T = sc.nextInt();

        for (int test_case = 1; test_case <= T; test_case++) {
            float a = sc.nextFloat();
            float b = sc.nextFloat();
            float c = sc.nextFloat();
            float part1 = Math.abs(2 * b - (a + c));
            float part2 = Math.abs(b - ((a + c) / 2));
            float answer = part1 > part2 ? part2 : part1;
            System.out.printf("#%d %.1f%n",test_case,answer);

        }
    }
}
참고
Math.abs() : 절댓값을 구하는 함수 OR  return (a < 0)? -a : a;
float 끼리 계산해야 결괏값도 float
참고 2

printf()

지시자 설명
%b boolean 형식
%d 정수 형식
%o 8진수 정수의 형식
%x 16진수 정수의 형식
%f 소수점 형식
%c 문자 형식
%s 문자열 형식

 

지시자 설명
%4d 4자리수 지정 오른쪽 정렬 (ex 자리수 지정 :    1)
%.3f 3자리 소수점 자리 지정 (ex 소수점 자리 지정 : 1.235)
%e 지수 표현식의 형식으로 출력 (ex 1.23458e+02)