브루트포스

[백준] 2798번 블랙잭 - Java[브루트포스] 문제 출처 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net ※ 풀이 블랙잭게임처럼 딜러가 부른 숫자와 가장 근접한 숫자가 나오도록 카드 3장을 뽑는 문제이다. 일단 카드 갯수인 n 의 범위가 그렇게 크지 않기때문에(100장) 모든 경우의 수를 다 돌려보는 브루트포스 알고리즘으로도 충분히 풀 수 있게 된다. 필자의 경우 재귀호출로 풀었다. ※ 소스코드 import..
[백준] 15649번 N과 M (1) - Java 문제 출처 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net ※ 풀이 문제에서 준 수의 범위가 크지 않으므로 브루트포스로 재귀적으로 푸는 문제이다. 각 수를 사용 했는지 안했는지 체크해주면서 해당 수를 고르거나 고르지 않으면 된다 (해당 내용은 재귀함수 내에서 구현) ※ 소스코드 import java.io.*; import java.util.*; import java.util.stream.*; ..
[백준] 2309번 일곱난장이 - Java 문제 출처 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net ※ 풀이 전형적으로 브루트포스로 가능한 경우의 수를 다 해보면 되는 문제이다. 가능한 경우의 수를 계산을 해보았을 때 9명의 난쟁이 후보들이 있고 각각 난쟁이일 경우, 아닐경우 경우의 수가 있으니 2^9 정도라고 예상을 해볼 수 있다. 이는 제한시간이 2초임을 감안했을 때 충분히 풀 수 있는 시간이다. (1초에 약 1억번의 연산이 가능하다고 생각하면 된..
Chung-A
'브루트포스' 태그의 글 목록