브루트포스

· Algorithm
문제 링크 1. 종만북 어려워서 힐링차 오랜만에 solved 들어가서 풀어본 문제 아이디어는 떠오르는데 코드 써 내려가는 게 귀찮았다. 조금 더 깔끔하게 풀 수 있을 것 같은데, 현재 코드는 조금 난잡한 느낌이 없지 않아 있다. 2. 입출력을 어떻게 처리할지 많이 고민했다. input[]은 n개의 수로 이루어진 수열이다. op_num[]은 덧셈, 뺄셈, 곱셈, 나눗셈의 개수를 나타낸다. op_num[]의 index 번호를 각각의 연산자로 간주하였다. 즉, 0은 덧셈, 1은 뺄셈 이런 식으로 말이다. opArr[]에 연산자를 숫자로 표현하여 집어넣었다. 예를 들면, op_num[0]=2, op_num[1]=1, op_num[2]=1, op_num[3]=2 이라면 opArr = {0, 0, 1, 2, 3, ..
· Algorithm
문제 링크 1. 완전탐색(브루트포스) 문제 이것으로 완전탐색 문제는 마무리가 되는데, 뭔가 대략적인 틀이 보이는 것 같으면서도 여전히 어렵다. 2. 자세한 풀이는 책 참고 (p.170) 스위치를 누르는 횟수의 모든 조합을 열거하면 무한할 것이다. 12시간 지나면 제자리로 돌아온다는 점을 이용해 유한하게 한정시키기 각 스위치를 누르는 횟수는 0에서 3번 사이이므로 전체 경우의 수는 $4^{10}=1,048,576$개 문제의 조건을 문자열로 표현하는 방법도 익히자 3. import java.util.Scanner; public class CLOCKSYNC { static final int INF = 9999, SWITCHES = 10, CLOCKS = 16; static final String linked[..
· Algorithm
문제 링크 1. 완전탐색(브루트포스) 문제 2. 자세한 풀이는 책 참고 (p.161) 블록 한 개를 내려놓고 남은 흰 칸들을 재귀 호출을 이용해 덮도록 하기 빈칸 중 좌상단을 기준으로 블록을 두기 (즉, 기준점 위와 왼쪽은 검은 칸) 그렇게 되면 기준 점에서 블록을 놓을 수 있는 경우의 수는 4가지 3. import java.util.Scanner; public class BOARDCOVER { static int height, weight, wall; static int dir[][][] = { { { 0, 0 }, { 0, 1 }, { 1, 0 } }, { { 0, 0 }, { 0, 1 }, { 1, 1 } }, { { 0, 0 }, { 1, 0 }, { 1, -1 } }, { { 0, 0 }, { ..
· Algorithm
문제 링크 1. 종만북 초반 4장까지 개념만 보면서 지루했었는데, 드디어 문제 풀이에 들어갔다. 근데 난이도 '하'인데 뭐가 이렇게 어렵지.. 종만북 완독 가능할지 모르겠다. 완전 탐색 기법을 재귀적으로 풀어보라는 문제여서 그렇게 풀어보려고 노력했다. 그런데, 잘 떠오르지 않아 나만의 방식으로 조합 등을 써서 풀어보려고 했으나, 풀지 못했다. 2. 자세한 풀이는 책 참고 (p.157) 각 답을 만드는 과정을 여러 개의 조각으로 나누기. 서로 친구인 배열을 만드고 거기서 친구인 두 학생을 찾아 짝짓고, 남은 학생들을 짝짓자. 중복 체크! 3. import java.util.Scanner; public class PICNIC { static int n, m; static boolean[][] areFrien..
· Algorithm
문제 링크 1. 브루트포스 문제. 순차적으로 완전 탐색을 하면 되는 단순하지만 유용한 알고리즘이다. 오랜만에 접해서 그런가 많이 헤맸다. 사용자 정의 class를 만들어 별의별 짓을 하다가 멘탈 나가서 풀이를 찾아보았다. 단순하게 생각하자! 2. 선택정렬과 유사한 느낌으로 풀면 된다. 키와 몸무게를 각각 비교하여 작은 쪽의 rank 인덱스를 1 증가시킨다. 처음 모든 인원의 순위를 1로 초기화하고 순위가 밀려나는 형식의 아이디어가 중요하다. 3. import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new ..
squareyun
'브루트포스' 태그의 글 목록