-
[백준] 1085번 직사각형에서 탈출 (JAVA)Algorithm 2020. 5. 19. 16:35728x90
문제
한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다.
출력
첫째 줄에 문제의 정답을 출력한다.
예제 입력1
6 2 10 3
예제 출력1
1
코드
import java.util.Scanner; public class no_1085 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int y = sc.nextInt(); int w = sc.nextInt(); int h = sc.nextInt(); int n1 = Integer.MAX_VALUE, n2 = Integer.MAX_VALUE; if(x < (double)w / 2) { n1 = x; }else { n1 = w-x; } if(y < (double)h / 2) { n2 = y; }else { n2 = h-y; } if(n1<n2) { System.out.println(n1); }else { System.out.println(n2); } } } //모범답안 //public class Main { // // public static void main(String[] args) { // // TODO Auto-generated method stub // ArrayList<Integer> list = new ArrayList<Integer>(); // // Scanner sc = new Scanner(System.in); // int x=sc.nextInt(); // int y=sc.nextInt(); // int w=sc.nextInt(); // int h=sc.nextInt(); // // list.add(x); // list.add(y); // list.add(w-x); // list.add(h-y); // Collections.sort(list); // System.out.println(list.get(0)); // } // //}
728x90'Algorithm' 카테고리의 다른 글
[Programmers] 2020 KAKAO BLIND RECRUITMENT 괄호 변환 (JAVA) (0) 2020.05.20 [Programmers] 2020 KAKAO BLIND RECRUITMENT 문자열 압축 (JAVA) (0) 2020.05.20 [백준] 9020번 골드바흐의 추측 (JAVA) (0) 2020.05.19 [백준] 1929번 베르트랑 공준 (0) 2020.05.19 [백준] 1929번 소수 구하기 (JAVA) (0) 2020.05.19