본문 바로가기

Algorithms/SW Expert Academy

(30)
[Java] SW Expert Academy 1491번 문제 (탐색) ---문제--- 1491. 원재의 벽 꾸미기 ---코드--- import java.util.Scanner; class Solution { public static void main(String[] args) { //System.setIn(new FileInputStream("1491.txt")); Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for (int t = 1; t
[Java] SW Expert Academy, SW 상시 역량테스트 모의 테스트 1767번 문제 (완전 탐색, DFS, 깊이 우선 탐색) ---문제--- 1767. [SW Test 샘플문제] 프로세서 연결하기 ---코드--- 이 경우는, 한 node를 지나가면 또 다른 후보가 나오고 그 후보들을 차례로 보고 다음 또 후보가 나오는 bfs(너비 우선 방식)방식 보다는, 각자의 node에서의 가능성을 판단하고 일단 이 경우에서 다음 node로 넘어가는 연쇄적인 방식을 반복하는 dfs의 구현이 더욱 가능성 있다고 판단하였는데, 그 이유는 그렇게 해야 앞에서의 완성형의 (가능한 모든 core를 연결한 경우) 최댓값, 최솟값을 알 수 있고 이를 이용하면 마치 분기한정(Branch & Bound) 처럼 탐색의 갯수를 줄일 수 있었기 때문입니다. (기저사례 1번 참고) import java.util.ArrayList; import java.util.S..
[Java] SW Expert Academy 1486번 문제 (완전 탐색, DFS, 깊이 우선 탐색) ---문제--- 1486. [모의 SW 역량테스트] 장훈이의 높은 선반 ---코드--- import java.util.Scanner; import java.io.FileInputStream; public class Sw1486 { static int N, B; static int[] tall; static int result, subresult; public static void main(String args[]) throws Exception { //System.setIn(new FileInputStream("1486.txt")); Scanner sc = new Scanner(System.in); int T; T = sc.nextInt(); for (int test_case = 1; test_case ..
[Java] SW Expert Academy 5658번 문제 (문자열) ---문제--- 5658. [모의 SW 역량테스트] 보물상자 비밀번호 ---코드--- import java.util.Collections; import java.util.Comparator; import java.util.LinkedList; import java.util.Scanner; import java.io.FileInputStream; import java.io.FileNotFoundException; public class Sw5658 { public static void main(String[] args) throws FileNotFoundException { //System.setIn(new FileInputStream("5658.txt")); Scanner sc = new Scanner(..
[Python] SW Expert Academy 5189번 문제 (완전탐색, DFS) ---문제--- [파이썬 S/W 문제해결 구현]2일차 - 전자카트 ---코드--- def dfs(j): global sub_result, result, n if len(visited) == n: sub_result+=number[j][0] if(result
[Python] SW Expert Academy 5188번 문제 (완전탐색, DFS) ---문제--- [파이썬 S/W 문제해결 구현]2일차 - 최소합 ---코드--- def dfs(y,x): global sub_result, result if result < sub_result: return if y == n-1 and x == n-1: result = sub_result return for d in range(2): y_tmp = y + dy[d] x_tmp = x + dx[d] if(y_tmp

728x90
반응형