[Bronze III] 캥거루 세마리 - 2965
2965번: 캥거루 세마리
첫째 줄에 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100)
www.acmicpc.net
성능 요약
메모리: 14220 KB, 시간: 124 ms
분류
수학(math)
문제 설명
캥거루 세 마리가 사막에서 놀고 있다. 사막에는 수직선이 하나 있고, 캥거루는 서로 다른 한 좌표 위에 있다.
한 번 움직일 때, 바깥쪽의 두 캥거루 중 한 마리가 다른 두 캥거루 사이의 정수 좌표로 점프한다. 한 좌표 위에 있는 캥거루가 두 마리 이상일 수는 없다.
캥거루는 최대 몇 번 움직일 수 있을까?
입력
첫째 줄에 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100)
출력
캥거루가 최대 몇 번 움직일 수 있는지 출력한다.
답 : 캥거루가 최대로 움직이는 경우의 수를 삼항연산자로 넣어준다.
B-A / C-B 중 차이가 큰 쪽으로 차이가 작은 쪽 수가 점프,
A가 점프했다면 B 혹은 C의 가장 가까운 곳으로 점프,
B쪽으로 점프했다면 B가 옆으로 점프, C 쪽이면 C가 옆으로 점프.
3을 반복하다 세 수가 나란히 오면 정지한다.
경우의 수는 B-A/C-B 중 큰수 -1 과 같다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
System.out.println(b-a > c-b ? b-a-1 : c-b-1);
}
}
'algorithm > 백준' 카테고리의 다른 글
[백준] 콜센터 - 5339 Java[자바] (0) | 2023.02.21 |
---|---|
[백준] 공 - 1547 Java[자바] (0) | 2023.02.20 |
[백준] 심부름 가는 길 - 5554 Java[자바] (0) | 2023.02.18 |
[백준] 집 주소 - 1284 Java[자바] (0) | 2023.02.17 |
[백준] 미국 스타일 - 2712 Java[자바] (0) | 2023.02.16 |