알고리즘/브루트포스6 [백준 15684] 사다리 조작 / 자바 / 브루트포스 + 약간의 구현 #문제 레벨: G3알고리즘: 브루트포스 풀이시간: 1시간힌트 참조 유무: 유https://www.acmicpc.net/problem/15684#문제 풀이 난 문제를 볼 때 이것은 규칙이 있나 없나부터 가볍게 생각한다. 딱 떠오르지 않는다면 입출력 제한을 보고 완전탐색인지 확인한다. 이 문제 같은 경우 최대 (10x30)^3 사다리 구현은 어려울 수 있지만, 굳이 이 문제에서 한가지만 뽑아서 배울 수 있다면, 브루트 포스 문제 풀이 흐름이다.다리를 놓을 조합을 뽑아놓고(dfs로 구현) 조건에 맞는대로 결과가 나오는지 시뮬레이션 돌린다. #풀이 코드 import java.util.*;import java.io.*;public class Main { static in.. 2024. 8. 4. [백준 15683] 감시 / 자바 / 브루트 포스(그래프 순회) 문제 레벨: G3알고리즘: 브루트 포스(그래프 순회)풀이시간: 1:30힌트 참조 유무: 무https://www.acmicpc.net/problem/156831 번째 시도: 실패 [알고리즘 선택 과정]각 cctv마다 방향 설정이 중요합니다그렇다면 각 cctv의 방향을 무슨 기준으로 놓아야 할까요주장: 각 CCTV마다 칸을 많이 차지하는 방향으로 반론: A가 칸이 많이 차지하는 방향, B가 칸이 많이 차지하는 방향으로 설정했는데 A,B가 겹치는 것이 많은 상황을 가장해보자.(주장 답안)0 0 #0 0 2(A)0 0 #0 0 2(B)0 0 #(정답 답안)0 0 0# # 2(A)0 0 0# # 2(B)0 0 0 그래서 이 주장은 옳지 않습니다. 패스그렇다면 완전탐색으로 각 CCTV의 모든.. 2024. 5. 30. [백준] 2048(Easy) / 자바(feat 브루트 포스, 백트래킹, DFS 차이점) 문제 레벨: G2알고리즘: 브루트 포스풀이시간: 1시간힌트 참조 유무: 유https://www.acmicpc.net/problem/121001 번째 시도 [사고 과정]이 게임의 규칙을 못 찾겠다.최대 N= 20 최대 탐색횟수 5번 4방향으로, 5*4*20*20 =8,000이므로 완전탐색이 가능할 것 같다.5번의 완전탐색으로 구현 자! 그렇다면 어느 것을 기준으로 다음 탐색지를 정해야 할까?각각의 숫자들을 타겟 or 방향각각의 숫자들을 기준에 맞추어 어느 숫자를 크게 만들까 생각한다면 다른 숫자들도 영향을 받기 때문에 머리가 너무 아프다당연히 4가지로만 나누어진 방향에 초점을 맞추는 게 맞다!(이번 기회를 통해 어는 것의 초점을 맞추어 다음 탐색지를 정할지 중요할 것을 알았다) [구현.. 2024. 5. 23. [백준 15686] 치킨배달/ 자바 / 브루트 포스(그래프순회) 문제 레벨: G5알고리즘: 브루트 포스(그래프순회) 풀이시간: 1시간 힌트 참조 유무: 유https://www.acmicpc.net/problem/15686 1 번째 시도: 실패 여느 BFS 문제랑 같다 생각하고 작성하였다import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashSet;import java.util.LinkedList;import java.util.Queue;import java.util.Set;//String[] s = br.readLine().split(" ");//Integer.parseInt(br.readLine());//i.. 2024. 5. 21. [백준] 연구소 / 자바 / 브루트포스(그래프 순회) 문제 레벨: G4알고리즘: 브루트포스(그래프 순회)풀이시간: 1시간힌트 참조 유무: 유https://www.acmicpc.net/problem/145021 번째 시도 벽을 세우는 규칙이 안 보이는 것 같다결국 완전탐색 선택또 하나, 힌트인 것은 입력 값 N,M이 8이하이다. 결국 완전탐색을 해도 된다는 소리이다.깊은 복사 필수!!1. 얕은 복사 : '주소 값'을 복사한다는 의미입니다. 2. 깊은 복사 : '실제 값'을 새로운 메모리 공간에 복사하는 것을 의미하며, dfs로 벽을 세울 경우의 수를 탐색하고 3개의 벽을 세우면 bfs함수 호출하여 바이러스를 퍼트리기바이러스를 퍼트릴 때 원본배열에서 퍼트리는 것이 아니라 얕은 복사를 한 배열에 퍼트린 것이다. import java.io.Bu.. 2024. 5. 8. 항해99 24일차 TIL( 타겟 넘버 / 프로그래머스) 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1 번째 시도 DFS 이용마지막 노드까지 도착했을 때 타켓 숫자면 카운팅DFS 파라미터에 들어가야 할 것들DFS 실행시킬 배열깊이타켓 넘버이전합//dfs로 플러스 마이너스 다 붙여가며 해당 숫자 카운트import java.util.*;class Solution { int answer = 0; public int solution(int[] numbers, int target) { dfs(numbers, 0, target, 0); return answer; .. 2024. 4. 21. 이전 1 다음