▶ BufferedReader와 브루트 포스 알고리즘 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 제한된 탐색 범위:xxx와 yyy의 가능한 값의 범위가 -999에서 999까지로 제한되어 있습니다.선형 방정식의 단순성:주어진 방정식이 일차 방정식 형태이므로 각 방정식의 계산이 단순한 곱셈과 덧셈으로 이루어집니다.이는 각 연산이 매우 빠르게 수행될 수 있음을 의미합니다.문제의 제한:문제의 제한 조건에 의해 입력 값의 범위와 크기가 작게 설정되어 있습니다.이는 복잡한 알고리즘을 사용할 필요 없이 단순한 브루트 포스 접근 방식으로도 문제를 해결할 수 있게 합니다.위와 같이 브루트 포스를 사용할 수 있는 조건을 충족하기 때문에 브루트 포스 알고리즘을 사용하면 간편하게 풀이할 ..
▶ BufferedReader를 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 이번 문제는 입력된 16진수를 10진수로 바꾸는 아주 간단한 문제입니다. 물론 parseInt() 메서드를 사용하여 간단하게 풀이할 수 있지만, 위와 같이 진법 변환을 직접 해보았습니다. 먼저 빠른 입력을 위해 BufferedReader 클래스로 입력을 받아주고, toCharArray() 메서드를 통해서 char타입 배열에 담아줍니다. 그리고 위 "진법 변환 그림"에서 볼 수 있듯이 "1398 FBA"면 A부터 접근을 해줍니다. 즉 뒤에서부터 순회를 합니다. 그리고 이제 char을 숫자로 변환해야 합니다. 각 문자 요소별로 A ~ Z의 문자라면 16진수에서는 A = 10 이기 때문에 55를 빼..
▶ BufferedReader & StringTokenizer를 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 입력으로 주어진 곡 개수 A와 평균값 I를 기반으로 최소한의 저작권이 있는 멜로디 개수를 구하는 간단한 수학 문제입니다. 여기서 중요한 점은 평균값 I는 올림 한 값이라는 점입니다. 따라서 실제 저작권이 있는 멜로디 개수는 I보다 하나 적은 최솟값까지 가능하다는 점을 고려해야 합니다. 이는 문제에서 나와있듯이 23.53 ➡️ 24로 반올림된 값이기 때문에 실제 평균값 I 는 " 23 라는 의미입니다. 따라서 -1을 해주고, 더불어 -1을 해주면 최소 평균값을 고려한 값이 나오지만, 실제로 최소 멜로디 수를 보장하기 위해서는 +1을 해줘야 합니다. 즉 +1을 하는..
▶ BufferedReader & StringTokenizer & 그리디 알고리즘 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 이번 문제도 그리디 알고리즘을 활용하면 간단히 풀 수 있습니다. 문제에서 그리디 알고리즘을 활용할 수 있는 이유는 각 시험장마다 주 감독관과 부 감독관의 수를 최소화하여야 하기 때문입니다. 문제에서는 각 시험장의 응시자 수와 주 감독관, 부 감독관이 감시할 수 있는 인원이 주어집니다. 이때, 각 시험장에 필요한 주 감독관과 부 감독관의 수를 최소화해야 합니다. 주 감독관은 각 시험장마다 무조건 1명은 있어야 하므로, 주 감독관의 수는 응시자 수에 따라 변하지 않습니다. 이는 그리디 알고리즘의 조건인 "탐욕적 선택 속성"에 부합합니다. 따라서 주 ..