[백준] 1085번: 직사각형에서 탈출 - JAVA

2024. 9. 20. 01:05·알고리즘

[작성일: 2023. 10. 01]

 

https://www.acmicpc.net/problem/1085

 

 

풀이

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 minX = Math.min(x - 0, Math.abs(x - w));
        int minY = Math.min(y - 0, Math.abs(y - h));

        int distance = Math.min(minX, minY);

        System.out.println(distance);
    }
}

 

이번 문제는 Math 클래스만 사용해도 풀 수 있었다.

x와 y의 위치에서 위(w,h)가 더 가까운지, 아니면 아래 (0,0)가 더 가까운지 계산하면 쉬운 문제였다.

Math클래스의 min으로 위와 아래 중에 어디가 더 가까운지(어디가 더 최솟값인지) 구해놓고,

x-w나 y-h는 마이너스 값이 나올 수 있기 때문에 abs을 사용해 절대값(양수)으로 변환했다.

 

그 다음 다시 minX와 minY을 min으로 구하면 그게 현재 위치에서 직사각형의 경계까지 제일 가까운 거리가 된다.

 

저작자표시 비영리 변경금지 (새창열림)
'알고리즘' 카테고리의 다른 글
  • [백준] 14215번: 세 막대 - JAVA
  • [백준] 3009번: 네 번째 점 - JAVA
  • [백준] 2581번: 소수 - JAVA
  • [백준] 2869번: 달팽이는 올라가고 싶다 - JAVA
뚜비
뚜비
1년차 백엔드&iOS 개발자의 감자 탈출 블로그 🥔🥔
  • 뚜비
    뚜비의 개발로그
    뚜비
  • 전체
    오늘
    어제
  • 글쓰기     관리
    • Devlog
      • Back-End
        • Java
        • Spring
        • JPA
        • HTTP
        • Security
        • Back-End
        • Front-End
      • 알고리즘
      • iOS
        • Swift
      • Database
      • Tips
        • Git & GitHub
        • A to Z
      • 프로젝트
      • 생각정리
  • 태그

    자바스크립트
    Database
    다형성
    프로그래머스
    의존성주입
    백준
    스프링
    jsp
    자바
    HTTP
    생성자
    데이터베이스
    성능최적화
    최주호
    html
    spring
    게시판만들기
    javascript
    김영한
    DB
    Spring Security
    변수
    Swift
    JPA
    Java
    객체
    MVC
    알고리즘
    sql
    Security
  • hELLO· Designed By정상우.v4.10.0
뚜비
[백준] 1085번: 직사각형에서 탈출 - JAVA
상단으로

티스토리툴바