코딍코딍
코딩기록
코딍코딍
전체 방문자
오늘
어제
  • 분류 전체보기 (271)
    • 개발 (2)
    • Java (1)
    • 스프링 (28)
    • JPA (11)
    • Git (3)
    • 알고리즘 (160)
      • 백준 (132)
      • 프로그래머스 (8)
      • SWEA (20)
    • 토이 프로젝트 (14)
      • 간단한 Springboot CRUD (1)
      • 게시판 프로젝트 (13)
    • 알고리즘 개념정리 (8)
    • 오류 해결 (13)
    • 보류 (0)
    • AWS (5)
    • 트러블 슈팅 (0)
    • 회고 (3)
    • CS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

최근 글

티스토리

hELLO · Designed By 정상우.
코딍코딍

코딩기록

알고리즘/SWEA

[SWEA] 18662번 : 등차수열 만들기

2023. 10. 24. 18:35

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AYo-e9EKmGoDFAQI&categoryId=AYo-e9EKmGoDFAQI&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1

 

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);
    }
}

 

해결 방법

  1. a 또는 b 또는 c에 x를 더하여 등차수열이 될 수 있다.
  2. a, b, c 각각을 바꿔서 등차수열이 되게 하는 값을 구한다.
  3. 세 값중 가장 작은 값을 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
    '알고리즘/SWEA' 카테고리의 다른 글
    • [SWEA] 9658번 : 유효숫자 표기
    • [SWEA] 16910번 : 원 안의 점
    • [SWEA] 2001번 : 파리 퇴치
    • [SWEA] 1206번 : View
    코딍코딍
    코딍코딍
    ㅎ2

    티스토리툴바