반응형
🔺 문제
🔺 코드
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine()," ");
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
int w = Integer.parseInt(st.nextToken());
int h = Integer.parseInt(st.nextToken());
int min = Math.min(w-x, h-y);
if(min > Math.min(x, y)) {
min = Math.min(x, y);
}
System.out.println(min);
}
}
✅ 해결 아이디어
- 일단 거리의 최솟값 min을 오른쪽 위 꼭짓점 w,h에서 x,y를 뺀 값으로 설정
- 이 값이 x나 y 중 작은 값(Math.min(x, y)
)과 원점 (0,0)으로부터의 거리보다 크다면 min 값 변경
🔺 다른 풀이들
내가 15-19번째 줄까지 쓴 코드를 더 짧게 축약 가능!
x축 최소거리를 구할 때, Math.min(x, w-x);
로 구하고 y축 최소거리도 이렇게 구하심.
거기다가 x축 최소거리 vs y축 최소거리 해서 더 작은 값 반환
반응형
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 삼각형 외우기 (0) | 2023.03.29 |
---|---|
[백준/JAVA] 9063번: 대지 (0) | 2023.03.29 |
[백준/JAVA] 11653번: 소인수분해 (0) | 2023.03.28 |
[백준/JAVA] 2581번: 소수 (0) | 2023.03.28 |
[백준/JAVA] 9506번: 약수들의 합 (0) | 2023.03.28 |