2025년 경기모바일과학고등학교 1학기 전공심화 자바프로그래밍반


[5월 9일] 1번 문제
May 16, 2025 16:59

문제: 승훈이는 어디로 갈까?

승훈이는 지금 네모난 운동장 안에 있어요. 운동장은 다음과 같은 규칙을 가지고 있어요:

  • 운동장의 가로 길이w미터
  • 운동장의 세로 길이h미터
  • 운동장의 왼쪽 아래 모서리가 시작점이에요 (즉, (0, 0)에서 시작해요)

승훈이는 지금 운동장 안의 어떤 위치에 서 있어요. 그 위치는 다음과 같이 주어져요:

  • 왼쪽 벽에서 x미터 떨어져 있고
  • 아래쪽 벽에서 y미터 떨어져 있어요

승훈이는 운동장의 벽 중에서 가장 가까운 곳으로 가고 싶어요. 운동장의 네 벽은 다음과 같아요:

  • 왼쪽 벽
  • 오른쪽 벽
  • 아래쪽 벽
  • 위쪽 벽

📐 운동장 예시 (텍스트 시각화)

아래는 운동장을 위에서 본 모습이에요. S는 승훈이가 있는 위치예요.

위쪽 벽 (h)
 ┌───────────────┐
 │                     │
 │       S ← 승훈이 위치 │
 │                     │
 └───────────────┘
왼쪽 벽 (0)     오른쪽 벽 (w)

승훈이는 네 벽 중 가장 가까운 벽까지 걸어가려고 해요. 그 거리의 최솟값을 구하는 프로그램을 만들어 보세요.


🔢 입력 형식

x y w h
  • x: 왼쪽 벽에서의 거리
  • y: 아래쪽 벽에서의 거리
  • w: 운동장의 가로 길이
  • h: 운동장의 세로 길이

✅ 출력 형식

  • 승훈이가 갈 수 있는 가장 짧은 거리를 출력하세요.

🧪 입력 예시

6 2 10 3

🧾 출력 예시

1

💡 힌트

승훈이가 네 벽까지 가는 거리는 다음과 같이 계산할 수 있어요:

  • 왼쪽 벽까지 거리: x
  • 오른쪽 벽까지 거리: w - x
  • 아래쪽 벽까지 거리: y
  • 위쪽 벽까지 거리: h - y

이 네 가지 중 가장 작은 값이 승훈이가 갈 수 있는 가장 짧은 거리예요!