728x90
▶ BufferedReader를 활용한 간단한 문제가 있어 정리해보고자 합니다.
문제설명
입력 & 출력
나의 풀이
아주 간단한 문제이지만 문제를 제대로 이해를 못 해서 조금 시간이 걸린 문제였습니다.
주어진 직사각형 안에서 (x, y)에서 주위 경계선 까지 최단 거리를 구하는 문제입니다. 그런데 처음에는 (x, y)에서 (w, h)의 경계까지 거리는 구하는 문제인 줄 알고 (h-y)와 (w-x)만 구해서 틀렸습니다.
결론을 말하자면 위 그림처럼 x, y, h-y, w-x 4가지의 경우에서 가장 짧은 최단 거리를 구하면 되는 문제입니다.
코드 설명을 하자면 빠른 입력을 위해 BufferedReader 클래스를 사용해주고, 형변환을 거쳐 x, y, w, h 변수에 초기화해 줍니다.
마지막으로 if문을 거쳐 가장 작은 값을 구해서 반환해 주면 됩니다.
다른 풀이✅
Math 클래스의 min() 메서드를 사용하면 더욱 간결하게 표현할 수 있습니다.
- x축 :
- ① : x
- ② : w -x
- y축 :
- ① : y
- ② : h -y
속도도 if문보다 빠르게 나온 것을 확인할 수 있습니다.
참고 ❗
[JAVA] 입출력, BufferedReader, StringTokenizer
Java로 코딩테스트를 보거나 입력을 사용해야 할 때 Scanner 클래스를 사용하면 편리하지만 속도가 느리다는 단점이 있습니다. 그렇기 때문에 속도가 빠른 BufferReader 클래스를 사용을 하면 시간복
pixx.tistory.com
'Coding Test > 백준' 카테고리의 다른 글
[백준] ACM 호텔 (BufferedReader, StringTokenizer, StringBuilder, 10250번, Java) (0) | 2024.05.24 |
---|---|
[백준] 손익분기점 (BufferedReader, 1712번, Java) (0) | 2024.05.24 |
[백준] 분해합 (BufferedReader, 2231번, 브루트 포스, Java) (0) | 2024.05.24 |
[백준] 달팽이는 올라가고싶다 (BufferedReader, StringTokenizer, Java) (0) | 2024.05.23 |
[백준] 블랙잭 (BufferedReader, Brute Force, Java) (0) | 2024.05.23 |