문제 링크
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
접근 방법
- 직사각형 탈출하는 함수 squreEscape를 만들었습니다.
- BufferedReader를 사용하여 입력 값을 받았습니다.
- x값/y값/사각형x값,사각형y값을 StringTokenizer를 이용하여 띄어쓰기 기준으로 초기화하였습니다.
- Math.min을 사용하여 x,y값이 좌표축으로 가는 (x,0) , (0,y) 거리와 좌표축이 아닌 경계면으로 가는 거리중 최소의 거리를 구하였습니다.
- 결과를 bw에 저장하였습니다.
- BufferedWriter를 통해 저장된 결과를 출력하였습니다.
결과 코드
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException{
squreEscape(); //함수 호출
}
public static void squreEscape() throws IOException { //직사각형 탈출 함수
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
//입력 값을 받는 BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//결과를 출력하는 BufferedWriter
StringTokenizer st = new StringTokenizer(br.readLine()," "); //띄어쓰기 기준 나누기
int x = Integer.parseInt(st.nextToken()); //x값
int y = Integer.parseInt(st.nextToken()); //y값
int width = Integer.parseInt(st.nextToken()); //사각형 x값
int height = Integer.parseInt(st.nextToken()); //사각형 y값
int minWidth = Math.min(Math.min(x, y),Math.min(width-x, height-y)); //가장작은 거리 비교
bw.write(minWidth + "\n"); //결과 bw에 저장
bw.flush(); //결과 출력
bw.close();
br.close();
}
}
'백준' 카테고리의 다른 글
[백준] 단계별로 풀어보기(단계:9,기본수학2,JAVA)4153번, 직각삼각형 (0) | 2022.01.06 |
---|---|
[백준] 단계별로 풀어보기(단계:9,기본수학2,JAVA)3009번, 네 번째 점 (0) | 2022.01.06 |
[백준] 단계별로 풀어보기(단계:9,기본수학2,JAVA)9020번, 골드바흐의 추측 (0) | 2022.01.04 |
[백준] 단계별로 풀어보기(단계:9,기본수학2,JAVA)4948번, 베르트랑 공준 (0) | 2022.01.03 |
[백준] 단계별로 풀어보기(단계:9,기본수학2,JAVA)1929번, 소수 구하기 (0) | 2022.01.03 |
댓글