-
[백준] 15670 N과 M(2) - Java알고리즘 문제 풀이 2024. 5. 29. 00:52
문제 - N과 M(2)
https://www.acmicpc.net/problem/15650
접근 방법
접근 방법이라기 보다는 백트래킹과 dfs를 공부하기 위해 풀었던 문제이다
이 문제는 기본적인 백트래킹 문제이다
풀었는데도 이해가 잘 되지 않는다 좀 더 공부를 해서 이해를 해야 겠다...
코드 작성
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N; static int M; static int[] array; static StringBuilder sb; public static void main(String[] args) throws IOException { try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) { StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); M = Integer.parseInt(st.nextToken()); array = new int[M]; sb = new StringBuilder(); backtracking(1, 0); System.out.println(sb); } } public static void backtracking(int start, int depth) { if (depth == M) { for (int i : array) { sb.append(i).append(" "); } sb.append("\n"); return; } for (int i = start; i <= N; i++) { array[depth] = i; backtracking(i + 1, depth + 1); } } }
'알고리즘 문제 풀이' 카테고리의 다른 글
[백준] 1012 유기농 배추 - Java (0) 2024.05.30 [프로그래머스] 네트워크 - Java (0) 2024.05.30 [백준] 2667 단지번호붙이기 - Java (0) 2024.05.27 [백준] 2839 설탕 배달 - Java (0) 2024.05.25 [백준] 2606 바이러스 - Java (0) 2024.05.23