-
[백준/BOJ] 3053번 : 택시 기하학 (JAVA / 자바)백준 2022. 2. 3. 18:52
안녕하세요~ 코딩하는 코알못 코메인입니다.
https://www.acmicpc.net/problem/3053
3053번: 택시 기하학
첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다.
www.acmicpc.net
- 문제 -
난이도 브론즈 3 문제이다.
자바에서 입력방식은 scanner와 bufferedreader가 있다.
자바를 초반에 접하면 처음에 배우는 입력은 scanner이다. scanner가 bufferedreader보다 편하지만 속도가 느리다.
bufferedreader는 무조건 문자열로 받아오기때문에 정수형이나 실수형 변수에 저장하기 위해서는 입력과 형변환을 해줘야한다.
더 자세한 내용은 아래 글 참고 하면 좋다.
(JAVA / 자바) Scanner 와 Bufferedreader
안녕하세요~ 코딩하는 코알못 코메인입니다. 이번엔 백준 문제 풀면서 계속 언급될 scanner와 bufferedreader에 대한 간단한 정리를 해볼거다. 자바에서 입력은 scanner와 bufferedreader가 있다. 우선 각자
comain.tistory.com
풀이 방법
입력값은 반지름이다.
유클리드 기하학의 원의 넓이는 ((반지름 제곱) * 파이) 이다.
택시 기하학의 원의 넓이는 솔직히 필자는 이 기하학을 찾아는 보았지만 이해를 결국 못했다.
그러니 그냥 식만 보자... ((반지름 제곱) * 2) 이다.(한마디로 파이대신 2를 곱하라는 것이다.)
이 값들을 순서대로 줄을 다르게 출력하는데 0.0001오차까지 허용한다 했고, 예제 출력을 보면 소수점 6자리까지 출력을 했다. 그러니 String.format을 사용해 7자리에서 반올림하고 6자리까지 출력하겠다.
-풀이-
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); double R = Double.parseDouble(br.readLine()); System.out.println(String.format("%.6f", (Math.pow(R, 2) * Math.PI))); System.out.println(String.format("%.6f", (2 * Math.pow(R, 2)))); } }
-결과-
아직 코딩 공부가 부족한 필자라 설명과 풀이 방법이 많이 미흡할 수 있다. 코딩 고수들은 보시고 문제점이 있다면 댓글로 말해주시면 감사한 마음으로 참고 수정 하겠다.
'백준' 카테고리의 다른 글
[백준/BOJ] 3460번 : 이진수 (JAVA / 자바) (0) 2022.02.03 [백준/BOJ] 3058번 : 짝수를 찾아라 (JAVA / 자바) (0) 2022.02.03 [백준/BOJ] 3034번 : 앵그리 창영 (JAVA / 자바) (0) 2022.02.03 [백준/BOJ] 3028번 : 창영마을 (JAVA / 자바) (0) 2022.02.03 [백준/BOJ] 3009번 : 네 번째 점 (JAVA / 자바) (0) 2022.02.03