백준
-
[백준 - 11758번] CCW - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 14:23
이번에는 BOJ의 11758번 문제 "CCW"를 풀어보도록 하자. 이차원(2D)에서 차례대로 주어지는 세점의 회전방향 (CW(Clockwise, 시계 방향), CCW(Counter-Clockwise, 반시계 방향)) 을 결정하기 위해서는, 세점의 좌표가 (x1, y1), (x2, y2), (x3,y3)와 같이 주어졌다 할 때, 신발끈 공식을 이용해서 세점이 CW인지 CCW인지 간단하게 구할 수 있다. 신발끈 공식을 통해서 해당 값이 0보다 크면 반시계 방향, 0보다 작으면 시계 방향, 0과 같으면 일직선이 된다. 성공한 코드는 아래와 같다. import java.io.*; import java.util.*; public class sample { public static void main(String[]..
-
[백준 - 10156번] 과자 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 14:14
이번에는 BOJ의 10156번 문제 "과자"를 풀어보도록 하자 동수가 과자를 살 수 있도록 수학적으로 식만 세워주면 되는 간단한 문제이다. 입력으로 과자 한 개의 가격 K, 살려고 하는 과자의 개수 N, 현재 동수가 가진 돈 M이 주어지고, (K X N >= M) 일 때, 동수는 따로 부모님한테 돈을 받지 않아도 과자를 살 수 있으므로 이 부분만 조건문으로 빼주고, {(K X N) - M} 의 값만 구해주면 되는 간단한 문제이다. 성공한 코드는 아래와 같다 import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { BufferedReader br = ne..
-
[백준 - 5532번] 방학 숙제 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 14:08
이번에는 BOJ의 5532번 문제 "방학 숙제" 를 풀어보도록 하자 입력으로, 방학의 총 일수 L, 방학기간에 해야할 국어 숙제의 총 페이지수 A, 수학 숙제의 총 페이지수 B, 하루에 최대로 풀 수 있는 페이지수 국어 : C, 수학 : D 가 주어지고, 출력으로 숙제를 하지 않고 놀 수 있는 최대 일 수를 구하면 되는 문제이다. 입력부분에 "항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다." 라는 구문이 있기 때문에, 이 문제를 풀기 위해서 따로 예외 처리를 하지 않아도 된다. 그래서 먼저 국어숙제만 할 때 필요한 요일 수를 구하고, 수학 숙제를 할 때 필요한 요일 수와 비교하여 답을 구하도록 했다. 성공한 코드는 아래와 같다. import java.io.*; import ja..
-
[백준 - 17350번] 2루수 이름이 뭐야 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 14:01
이번에는 BOJ의 17350번 문제 "2루수 이름이 뭐야"를 풀어보도록 하자 입력으로 주어지는 문자열 중에 이름이 "anj"인 사람이 있으면, 출력으로 "뭐야;" 를 그렇지 않으면 "뭐야?" 를 출력하면 되는 문제이다. 성공한 코드는 아래와 같다. import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(Syste..
-
[백준 - 17356번] 수열과 쿼리 16 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 13:57
이번에는 BOJ의 17356번 문제 "욱 제"를 풀어보도록 하자 문제에 나와있듯이, M = (B - A) / 400 이고, 위의 M을 이용해서 1 / (1 + 10 ^ M)의 값을 구하면 되는 문제이다. 성공한 코드는 아래와 같다 import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); S..
-
[백준 - 7572번] 간지(干支) - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 7. 26. 17:56
이번에는 BOJ의 7572번 문제 "간지(干支)"를 풀어보도록 하자 입력으로 연도가 주어지고 해당연도의 간지를 간지롭게 구하면 되는 문제이다. 일단, 문제 에서 주어지는 2013년은 "F9", 2014년은 "G0" 등을 이용해서 문제를 풀어도되고, 1984년이 갑자년"A0" 이라는 사실을 알고 있기 때문에, 이를 이용해서 문제를 풀었다. 성공한 코드는 아래와 같다. import java.io.*; import java.util.*; public class sample { static char[] gan = {'0', '1', '2', '3', '4', '5', '6', '7', '8','9'}; static char[] zi = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', '..
-
[백준 - 16938번] 캠프 준비 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 7. 26. 17:31
이번에는 BOJ의 16938번 문제 "캠프 준비"를 풀어보도록 하자 오랜만에 이런 문제를 풀려고 하니, 뇌에 쥐가 나서 살짝 지끈했다. 처음에 문제를 풀때에는 아래에 첨부한 것과 같이 list를 이용해서, 간편하게 max값과 min값 크기를 구할 수 있도록 했는데, 시간초과가 떠버렸다. import java.io.*; import java.util.*; public class sample { static int N, X; static long L, R; static long[] A; static int ans = 0; static ArrayList list = new ArrayList(); public static void main(String[] args) throws Exception { Buffer..
-
[백준 - 3053번] 택시 기하학 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 7. 26. 16:27
이번에는 BOJ의 3053번 문제 "택시 기하학"을 풀어보도록 하자 문제는 간단하나 용어들이 생소할 수 있다. 유클리드 기하학에서 반지름이 R인 원의 넒이라고 함은, A = PI() * R^2 이다. 그리고 이 문제에서 나오는 택시 기하학에서 반지름이 R인 원의 넓이라고 함은, D(T1,T2) = |x1-x2| + |y1-y2| 의 계산을 통해 얻어지는 도형의 넓이라고 생각하면 된다. 이해하기 쉽게 도형을 보면서 설명해보자면, 위 그림과 같이 반지름이 1인 원과 좌표(1,0), (0,1), (-1,0), (0,-1)를 꼭지점으로 하는 사각형이 있다고 하자. 여기에서 유클리드 기하학에서 원의 넓이라고 함은 파란색원의 넓이이다. 그리고 이문제에서 나오는 택시기하학에서의 원의 넓이라고 함은 빨간 사각형의 넓이..