Coding Test/백준

·Coding Test/백준
▶ BufferedReader를 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이  아주 간단한 문제이지만 문제를 제대로 이해를 못 해서 조금 시간이 걸린 문제였습니다. 주어진 직사각형 안에서 (x, y)에서 주위 경계선 까지 최단 거리를 구하는 문제입니다. 그런데 처음에는 (x, y)에서 (w, h)의 경계까지 거리는 구하는 문제인 줄 알고 (h-y)와 (w-x)만 구해서 틀렸습니다. 결론을 말하자면 위 그림처럼 x, y, h-y, w-x 4가지의 경우에서 가장 짧은 최단 거리를 구하면 되는 문제입니다. 코드 설명을 하자면 빠른 입력을 위해 BufferedReader 클래스를 사용해주고, 형변환을 거쳐 x, y, w, h 변수에 초기화해 줍니다. 마지막으로 if문을 거쳐 가..
·Coding Test/백준
문제설명입력 & 출력나의 풀이 문제를 이해하는 데 시간이 조금 걸렸습니다. 이번 "분해합"문제는 주어진 수의 가장 작은 생성자를 찾는 문제입니다. 문제에 입력이 216으로 주어졌을 때 해당 수의 가장 작은 생성자를 찾는 문제입니다. 216의 생성자는 198,207,215 가 있는데 이 중에서 가장 작은 198이 출력이 나와야합니다. "가장 작은"이라는 말에서 알 수 있듯이 최솟값을 찾기 위하여 1부터 입력받은 N까지 모두 대입하면서 분해합이 입력이랑 같았지만 그 값을 반환하면 되는 문제입니다. 즉 브루트 포스 알고리즘 방식입니다.  198 = ①198 + ② 1 + ③ 9 + ④ 8 = 216 207 = ① 207 + ② 2 + ③ 0 + ④ 7 = 216먼저 분해합을 찾는 함수 findAnalyzeSu..
·Coding Test/백준
문제설명입력 & 출력나의 풀이 워낙 유명한 문제입니다.  주의해야 할 점은 정상에 도착하면 더 이상 미끄러지지 않는다는 것입니다. 예제 입력 2, 1, 5)day 1 :  2미터 올라가고 1미터 떨어짐 ➡️ 1 미터 day 2 :  2미터 올라가고 1미터 떨어짐  ➡️ 2 미터 day 3 :  2미터 올라가고 1미터 떨어짐  ➡️ 3미터 day 4 :  2미터 올라가고 정상 도착 ➡️ 5 미터  예제 입력 5, 1, 6)day 1 :  5미터 올라가고 1미터 떨어짐 ➡️ 4 미터day 2 :  5미터 올라가는 동안 이미 정상도착  ➡️ 9 미터 위와 같기 때문에 단순히 V / A-B를 하면 안 됩니다. 이걸 정리해서 문제를 접근하는 방법은 다음과 같습니다.하루 동안 순수하게 올라가는 높이: 𝐴 − ..
·Coding Test/백준
▶ BufferedReader와 브루트 포스 알고리즘을 활용한 간단한 문제가 있어 정리해보고자 합니다.  문제설명입력 & 출력나의 풀이 전체 카드(N)중에서 3개를 고를 수 있는 모든 경우의 수를 구하고, 카드의 합을 구한 뒤, M을 넘지 않는 최댓값을 찾으면 되는 문제입니다. 주어지는 카드의 개수(N)가 최대 100개이므로, 브루트 포스 알고리즘을 사용하여 모든 가능한 조합을 탐색하는 것이 가능합니다. 따라서 3중 for문을 사용하면 손쉽게 풀 수 있는 브루트 포스 알고리즘의 첫 번째 문제였습니다. 풀이 설명을 하자면 빠른 입력을 위해 BufferedReader 클래스를 사용하고, 3중 for문을 사용하여 3개의 카드를 구하고 합을 구해줍니다. 해당 카드의 합의 max값을 구해주는 데 &연산자를 사용하..
지누박
'Coding Test/백준' 카테고리의 글 목록 (10 Page)