본문 바로가기
Development/Baekjoon

[C#] 1085번: 직사각형에서 탈출

by Mobics 2025. 9. 20.

목차


    백준 단계별로 풀어보기

    25.09.20

    10단계: 기하 1: 직사각형과 삼각형


    1085번: 직사각형에서 탈출

    문제 링크 : https://www.acmicpc.net/problem/1085

     

    문제 풀이

    >> 문제를 풀기 위해 알아야 할 개념

    - 직사각형의 경계선까지 가는 거리의 최솟값

    : 어느 한 점(x, y)에서 어느 한 변 사이의 거리의 최솟값을 말한다.

    --> x축 방향으로 더 가까운 변과의 거리를 구하고 y축 방향으로 더 가까운 변과의 거리를 구해서 두 거리를 비교하여 더 작은 쪽이 최솟값이다.

     

    >> 풀이

    1. x, y, w, h 값을 입력받아 int값으로 변환한다.
    2. x축 방향으로 더 가까운 변과의 거리를 담을 변수 'minX', y축 방향으로 더 가까운 변과의 거리를 담을 변수 'minY'를 선언한다.
    3. 삼항연산자를 통해 minX와 minY값을 담는다.
    4. 삼항연산자를 통해 minX와 minY 중 더 적은 값을 출력한다.

     

    정답 코드

    class Backjoon
    {
        static void Main(string[] args)
        {
            string[] input = Console.ReadLine().Split();
            int x = int.Parse(input[0]);
            int y = int.Parse(input[1]);
            int w = int.Parse(input[2]);
            int h = int.Parse(input[3]);
            int minX = 0;
            int minY = 0;
    
            minX = h - y > y ? y : h - y;
            minY = w - x > x ? x : w - x;
    
            Console.Write(minX > minY ? minY : minX);
        }
    }

    'Development > Baekjoon' 카테고리의 다른 글

    [C#] 15894번: 수학은 체육과목 입니다  (0) 2025.09.23
    [C#] 3009번: 네 번째 점  (0) 2025.09.22
    [C#] 27323번: 직사각형  (0) 2025.09.19
    [C#] 11653번: 소인수분해  (0) 2025.09.18
    [C#] 2581번: 소수  (0) 2025.09.17