dfs 4

swea 5948 [D3] 새샘이의 7-3-5 게임 JAVA

풀이 : dfs를 사용. set을 이용해서 중복을 제거해야함. 중복 때문에 7 Conbination 3 = 35 중에서 5번째로 큰 수라고 30번째를 구하면 안됨 때문에, set을 arr 또는 arrayList로 만들고 arrayList.size - 5 또는 arr.length - 5 를 구해야 함 Code - TreeSet 사용 public class Solution5948 { static int[] arr; static int sum; static TreeSet set; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for (int tc = 1; tc

SWEA 2023.11.29

swea 5215 [D3] 햄버거 다이어트 JAVA

제한된 칼로리 조건 하에서 가장 만족도 높은 조합을 선택하면 되는 문제 풀이 : 부분 집합 -> 재귀 함수 탐색을 하면서 만족도와 현재까지의 칼로리를 계속 기록하며 선택한 경우 --> 해당 항목의 만족도와 칼로리를 더해준 뒤 진행하고 선택하지 않은 경우 --> 기존의 상태에서 다음 번째 항목으로 넘겨주는 위 과정만 이해하신다면 유사한 문제들을 쉽게 풀이 Code public class Solution5215 { static int N, L; static int[] scores; static int[] cal; static int ans; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextI..

SWEA 2023.11.29

swea 2806 [D3] N-Queen JAVA

풀이 : DFS로 풀어야 함. board[N]을 만들어 열을 내려가면서 해당 행에 어떤 위치에 퀸을 놓았는지 명시. 재귀 호출을 통해 위쪽 열(curr = 0)부터 퀸을 놓고 아래로(curr = N) 내려가는 방식 Code public class Solution2806V { static int board[]; // 퀸의 위치를 담는다. (board[0]=1 -> (0,1)에 하나의 퀸이 있다. board[1] = 3 -> (1,3)에 하나의 퀸이 있다.) static int answer; public static void main(String args[]) throws Exception { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for(i..

SWEA 2023.11.29
1