본문 바로가기

완전탐색7

[Day25]JAVA 백준 주사위쌓기(2116번) https://www.acmicpc.net/problem/2116 백준 주사위 쌓기 문제는 완전탐색으로 모든 경우의 수를 탐색하고 그 중 최대값 을 구하는 방식으로 해결할 수 있다.  🌘문제 이해하기n개의 주사위를 쌓는다.서로 붙어 있는 두 개의 주사위에서 아래에 있는 주사위의 윗면에 적힌 숫자는 위에 있는 주사위의 아랫면에 적혀있는 숫자와 같아야 한다.  n+1번째 주사위 아랫면 숫자 = n번째 주사위 윗면 숫자n개씩 주사위를 쌓아 놓으면 긴 사각 기둥이 된다. 사각 기둥의 4개의 옆면 중에서 어느 한면의 숫자의 합이 최대가 되도록 주사위를 쌓고자 한다. 첫번재 줄에는 주사위의 개수가 입력 그다음 줄부터는 한줄에 하나씩 주사위의 각 면에 적혀진 숫자가 A,B,C,D,E,F, 순서로 입력된다. 🌗문제.. 2024. 11. 21.
[Day24]JAVA 프로그래머스 전력망을 둘로 나누기(완전탐색 , DFS) https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   해당 문제를 풀기 위해서는 깊이 우선 탐색(DFS)를 활용해야 합니다. 완전 탐색을 이용해 가능한 모든 전선을 하나씩 제거하고 그로 인해 발생하는 서브트리 크기 차이를 구하는 것 입니다.🌘 문제 이해하기n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다.  전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다.송전탑의 개수 : nn.. 2024. 11. 20.
[Day23]JAVA 프로그래머스 소수 찾기(완전탐색, 백트래킹) https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 프로그래머스 소수 찾기 문제를 해결하기 위해서는 백트래킹 알고리즘 과 소수에 대해서 알아야한다. 먼저 백트래킹 과 소수에 대해서 알아보겠다. ⭐백트래킹 문제를 풀 때 모든 경우의 수를 체크(완전탐색) 하면서 , 해가 아닌 케이스의 경우를 만나면 그 이전의 상태로 되돌아가서 다른 케이스를 체크하는 알고리즘 이다.깊이 우선 탐색(DFS) : DFS 와 같이 재귀적으로 깊숙하게 확장해나가면서 해를 찾는다. 하지만 DFS 와 달리 해당 경로가 틀린 해.. 2024. 11. 19.
[Day22]JAVA 프로그래머스 피로도(완전탐색) https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  프로그래머스 피로도 문제는 완전탐색 방식을 활용하여 해결할 수 있다. 🌘문제 이해하기  한 유저의 피로도 :   K던전 의 각 행은 [ "최소 필요 피로도" , "소모 필요 피로도" ] 로 저장되어 있다. "최소필요 피로도" 는 항상 "소모 피로도" 보다 크거나 같다. 서로 다른 던전의 ["최소 필요 피로도", "소모 피로도"]가 서로 같을 수 있습니다.던전을 탐험 할때마다 K - 소모필요 피로도 가 소진되고 유저의 남은 피로도는 다음 던전.. 2024. 11. 18.
[Day21]JAVA 프로그래머스 카펫(완전탐색) (6,7,8,9 만 오류인 경우) https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🌘문제 이해하기 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫 갈색 격자 의 가로는 노란색 격자의 가로 길이 + 2 갈색 격자 의 세로는 노란색 격자의 세로 길이 + 2  갈색 격자의 가로,세로 길이는 전체카펫의 가로,세로 길이 이기도 하다.즉 갈색 격자 개수 = 전체 카펫의 격자 개수 - 노란색 격자의 개수 의 규칙을 찾아내면 된다.🚨6,7,8,9 문제만 오류가 발생하는 경우노란색 격자의 가로,세로 길이를 구할.. 2024. 11. 17.
[Day20]JAVA 프로그래머스 모의고사 코딩테스트 연습 - 모의고사 | 프로그래머스 스쿨 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  🌘문제 이해하기1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5,.... 수포자들의 찍는 방식의 규칙은 1번 수포자는 1~5를 순서대로 찍는다.2번 수포자는 2, 1, 2, 3, 2, 4, 2, 5 순서대로 찍는다.3번 수.. 2024. 11. 16.