본문 바로가기
JAVA/CodingTest

[BOJ / 백준] 1085번: 직사각형에서 탈출 (JAVA) 문제 풀이

by 알기 쉬운 코딩 사전 2023. 11. 10.
반응형
 

1085번: 직사각형에서 탈출

한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램

www.acmicpc.net

 

1. JAVA 코드

import java.util.Scanner;

public class Main {
    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 min = x;
        if(min > y){
            min = y;
        }
        if(min > h - y){
            min = h - y;
        }
        if(min > w - x){
            min = w - x;
        }

        System.out.println(min);
    }
}

 

 

2. 문제 분석

수학적 그래프 사고방식이 조금 부족하면 헷갈릴 수도 있는 문제라고 생각합니다. 직접 그래프를 그리며 생각해 보면 쉬운 문제입니다.

 

최단 거리가 나올 경우의 수는 총 4가지입니다.

  • (0, 0) ~ (x, 0)까지의 거리 = x
  • (0, 0) ~ (0, y)까지의 거리 = y
  • (x, 0) ~ (w, 0)까지의 거리 = w - x
  • (0, y) ~ (0, h)까지의 거리 = h - y

 

3. 의사 코드

1. x, y, w, h를 입력받는다.
2. min 변수를 선언한다.
3. if 문을 이용하여 min을 처리해 준다.
4. min을 출력한다.

 

반응형

댓글