브루트 포스

·Coding Test/백준
문제설명입력 & 출력 나의 풀이  이번 문제는 5개의 정수가 주어졌을 때 5개 중 세 개로 나누어 지는 가장 작은 자연수를 구하는 문제입니다.제약 조건이 작음: 주어진 문제에서 숫자의 범위는 크지 않다.명확한 조건: 숫자를 1씩 증가시키면서 최소 3개의 숫자에 대해 나누어 떨어지는지 확인하는 조건이 명확위 조건에 부합하여 브루트 포스 알고리즘을 사용하면 쉽게 해결할 수 있습니다. 대부분의 코드에 대한 설명은 주석을 달아놨습니다. 전체적인 접근 방식은 다음과 같습니다.입력받기: 5개의 숫자를 입력받아 배열에 저장합니다.숫자 증가: 1부터 시작하여 가능한 숫자를 하나씩 증가시킵니다.나누어 떨어지는지 검사: 증가한 숫자가 배열의 숫자들 중 최소 3개의 숫자로 나누어 떨어지는지 검사합니다.조건 만족 시 종료: ..
·Coding Test/백준
문제설명입력 & 출력 나의 풀이  이번 문제는 슈퍼 마리오가 앞에 높인 버섯을 먹습니다. 이때 숫자를 100에 가장 가깝게 만들면 되는 문제입니다. "모든 버섯을 집을 필요는 없고 중간에 중단할 수 있다" 라는 말은 즉 100에 가장 가깝다면 중단하면 된다라는 뜻입니다. 그러면 이 때 문제에서 나왔듯이 만약 100에 가까운 수가 2개라면 (예: 98, 102) 마리오는 큰 값을 선택해야 합니다. 먼저 빠른 입력을 위해 BufferedReader클래스를 사용하여 입력을 받아주고, sum변수에 누적하여 더해줍니다. 그리고 이제 현재 값과 다음 값 중 100에 더 가까운 수를 찾아야 합니다. 이때  Math.abs() 메서드를 사용하여 절댓값을 만들고 100에서 빼주면 거리의 차이를 알 수 있습니다.  첫 번..
문제설명입력 & 출력 나의 풀이import java.util.*;class Solution { public int[] solution(int[] answers) { int[] answer = {}; int[] scores = new int[3]; int[] supo1 = {1,2,3,4,5}; int[] supo2 = {2,1,2,3,2,4,2,5}; int[] supo3 = {3,3,1,1,2,2,4,4,5,5}; for(int i = 0 ; i list = new ArrayList(); for(int i = 0 ; i x.intValue()).toArray(); }} 이번..
문제설명입력 & 출력나의 풀이import java.util.*;class Solution { public int solution(int[] nums) { int answer = 0; for(int i = 0 ; i  이번 문제는 배열의 요소 중 3개의 요소를 더해서 소수를 만드는 문제입니다. 브루트 포스 알고리즘을 사용하면 모든 가능한 조합을 시도하여 최적해를 놓치지 않기 때문에, 문제 해결의 확실성을 보장할 수 있습니다. 따라서 브루트 포스 알고리즘을 사용했습니다. 먼저 소수를 판별할 수 있는 isPrime()이라는 함수를 만들어줍니다. 해당 함수에서는 소수를 구하는 로직이 있습니다.소수(prime number)는 1과 자기 자신만을 약수로 가지는 자연수를 말합니다. 즉,..
지누박
'브루트 포스' 태그의 글 목록