1. 처음에는 DP 인듯 DP 아닌 반복문으로 풀었었다. (실수로 -1 안해서 계속 오답..)
2. 생각해보니까 b a 중간 c b 중간으로만 이동이 가능한거다.
3. 그래서 생각해보니 큰 수 - 작은 수 1 씩 밀려서 답이 나온다. 결과적으로. (-1 해줘야됨)
4. 틀에박힌 생각으로 DP 로 풀려했었다.
5. 앞으로는 좀 열린 생각을 하도록 노력해봐야지
import java.util.*; | |
import java.io.*; | |
/** | |
* https://www.acmicpc.net/problem/2965 | |
* BOJ 백준온라인져지 2965 캥거루 세마리 풀이 | |
*/ | |
public class Main { | |
public static void main(String[] args) throws IOException { | |
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); | |
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); | |
String str1[] = br.readLine().split(" "); | |
int arr[] = new int[3]; | |
for (int i = 0; i < 3; i++) { | |
arr[i] = Integer.parseInt(str1[i]); | |
} | |
int result = arr[1] - arr[0] > arr[2] - arr[1] ? arr[1] - arr[0] : arr[2] - arr[1]; | |
bw.write(String.valueOf(result - 1)); | |
bw.flush(); | |
} | |
} |
문제
캥거루 세 마리가 사막에서 놀고 있다. 사막에는 수직선이 하나 있고, 캥거루는 서로 다른 한 좌표 위에 있다.
한 번 움직일 때, 바깥쪽의 두 캥거루 중 한 마리가 다른 두 캥거루 사이의 정수 좌표로 점프한다. 한 좌표 위에 있는 캥거루가 두 마리 이상일 수는 없다.
캥거루는 최대 몇 번 움직일 수 있을까?
입력
첫째 줄에 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100)
출력
캥거루가 최대 몇 번 움직일 수 있는지 출력한다.
'IT > 알고리즘' 카테고리의 다른 글
BOJ 백준온라인져지 2455 지능형 기차 풀이 (0) | 2018.03.08 |
---|---|
BOJ 백준온라인져지 3053 택시 기하학 풀이 (0) | 2018.03.08 |
BOJ 백준온라인져지 9461 파도반 수열 풀이 (0) | 2018.03.06 |
BOJ 백준온라인져지 1520 내리막 길 풀이 (0) | 2018.03.05 |
BOJ 백준온라인져지 9375 패션왕 신혜빈 풀이 (0) | 2018.03.05 |