코딩테스트 준비하기/완전탐색 & 백트래킹 3

SWEA- 보호필름 (JAVA)

문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V1SYKAaUDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제설명 다양한 푸는 방법이 존재한다. 조합을 이용하여 풀면 쉽게 풀 수 있다. 알고리즘 1. DFS를 이용하는데 종료조건은 투약횟수보다 cnt가 커지거나 세로길이를 넘어갈 때 이다. 2. 조건을 만족하면 최솟값을 구하고 return 한다. 3. 투여했을 때 안했을 때를 나눠서 조합으로 탐색한다. 구현 static int D; //두께 static int W; //가로크기 static in..

백준 - 소문난 칠공주(JAVA)

문제 : https://www.acmicpc.net/problem/1941 1941번: 소문난 칠공주 총 25명의 여학생들로 이루어진 여학생반은 5*5의 정사각형 격자 형태로 자리가 배치되었고, 얼마 지나지 않아 이다솜과 임도연이라는 두 학생이 두각을 나타내며 다른 학생들을 휘어잡기 시작�� www.acmicpc.net 문제설명 문제를 처음 보면 단순한 DFS/BFS 문제로 느껴진다. 그러나 단순 탐색으로 찾는다면 많은 반례들이 있다. 예를 들어 십자가 모양으로 있는 TK를 통과하진 못한다. 사실 5x5 배열에 제한시간이 2초라는 것은 단순 탐색으로는 풀 수 없다는 걸 뜻한다. 그러므로 5x5 = 25개의 학생중에 7명을 뽑는다고 생각해야한다. 알고리즘 1. 25명의 학생중 7명을 뽑는다. 2. 뽑은 학..

백준 - 월드컵(JAVA)

문제 : https://www.acmicpc.net/problem/6987 6987번: 월드컵 www.acmicpc.net 문제설명 6팀의 모든 경우의 수를 탐색하는 문제이다. 재귀와 백트래킹을 이용하여 해결한다. 알고리즘 1. 재귀를 이용하는데 종료조건은 무사히 15경기까지 오는 것이다. 2. 각 팀의 승리 , 패배 , 무승부 횟수가 음수가 되면 return 한다. 3. 1팀은 2,3,4,5,6 팀과 경기 2팀은 3,4,5,6 경기 3팀은 4,5,6 ~~ 이런식으로 진행된다. -> team, index 변수 사용 주의사항 1. 승 패 무승부 합쳐 30개가 안되는 TK가 존재한다. 2. 백 트래킹 조건은 종료조건 보다 위에 배치한다. 구현 public class Main_월드컵 { static int w..

728x90