-
[백준/BOJ] 11320번 : 삼각 무늬 - 1 (JAVA / 자바)백준 2022. 2. 23. 00:06
안녕하세요~ 코딩하는 코알못 코메인입니다.
https://www.acmicpc.net/problem/11320
11320번: 삼각 무늬 - 1
무엇이든 덮어버리는 것을 좋아하는 구사과는 한 변의 길이가 A인 정삼각형을 한 변의 길이가 B인 정삼각형으로 완전히 덮어버리고자 한다. 두 개의 정수 A, B가 주어지고, B ≤ A 이고, A를 B로
www.acmicpc.net
- 문제 -
난이도 브론즈 3 문제이다.
자바에서 입력방식은 scanner와 bufferedreader가 있다.
자바를 초반에 접하면 처음에 배우는 입력은 scanner이다. scanner가 bufferedreader보다 편하지만 속도가 느리다.
bufferedreader는 무조건 문자열로 받아오기때문에 정수형이나 실수형 변수에 저장하기 위해서는 입력과 형변환을 해줘야한다.
더 자세한 내용은 아래 글 참고 하면 좋다.
(JAVA / 자바) Scanner 와 Bufferedreader
안녕하세요~ 코딩하는 코알못 코메인입니다. 이번엔 백준 문제 풀면서 계속 언급될 scanner와 bufferedreader에 대한 간단한 정리를 해볼거다. 자바에서 입력은 scanner와 bufferedreader가 있다. 우선 각자
comain.tistory.com
풀이 방법
A삼각형 B 삼각형이 있다.
A삼각형을 B 삼각형으로 완전 덮으려한다.
A가 3이고, B가 1이면 한변에 붙는 삼각형은 3개가 된다. 이 삼각형을 덮는 삼각형의 개수는 한변에 붙은 3개를 제곱해주면 된다. 3 * 3인 것이다. 그렇게 9개의 삼각형으로 덮게된다.
A가 3이고, B가 2이면 한변에 붙는 삼각형은 1개하고 좀 남는다. 거기도 그냥 덮어버림 된다. 그럼 한변에 2개가 되는 것이다. 위에서 계산한것처럼 제곱을 해준다. 2* 2인 것이다. 그렇다면 한변의 길이가 3인 삼각형을 한변의 길이가 2인 삼각형으로 완전히 덮으려면 4개가 필요한 것이다.
첫번째 같은 경우엔 그냥 3 / 1해주고, 나온 값을 제곱해준다. 두번째 같은 경우에는 나누면 나누어떨어지지 않기때문에 나누고 나온 몫에 +1을 해주고 곱해준다.
두번째 경우는 3과 2인데, 3 / 2는 나누어 떨어지지 않으니, 몫인 1에 +1을 해서 2. 그것을 제곱 2 * 2. 총 4개가 되는 것이다.
코드로 보자.
-풀이-
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); for(int i = 0; i < T; i++) { StringTokenizer st = new StringTokenizer(br.readLine()); int A = Integer.parseInt(st.nextToken()); int B = Integer.parseInt(st.nextToken()); //2제곱이기 때문에 굳이 Math함수를 쓰지 않고 곱하기로 해준다. if(A % B == 0) System.out.println((A / B) * (A / B)); else System.out.println(((A / B) + 1) * ((A / B) + 1)); } } }
-결과-
아직 코딩 공부가 부족한 필자라 설명과 풀이 방법이 많이 미흡할 수 있다. 코딩 고수분들은 보시고 문제점이 있다면 댓글로 말해주시면 감사한 마음으로 참고 수정 하겠습니다.
'백준' 카테고리의 다른 글
[백준/BOJ] 1026번 : 보물 (JAVA / 자바) (1) 2022.02.24 [백준/BOJ] 1546번 : 평균 (JAVA / 자바) (0) 2022.02.23 [백준/BOJ] 11134번 : 쿠키애호가 (JAVA / 자바) (0) 2022.02.22 [백준/BOJ] 11109번 : 괴짜 교수 (JAVA / 자바) (0) 2022.02.22 [백준/BOJ] 1120번 : 문자열 (JAVA / 자바) (0) 2022.02.22