๊ธฐ๋ก๋ฐฉ

BOJ_15650 : N๊ณผ M (2) ๋ณธ๋ฌธ

CodingTest/Java

BOJ_15650 : N๊ณผ M (2)

Soom_1n 2022. 12. 9. 23:42

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

15650๋ฒˆ: N๊ณผ M (2)

ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ค‘๋ณต๋˜๋Š” ์ˆ˜์—ด์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ถœ๋ ฅํ•˜๋ฉด ์•ˆ๋˜๋ฉฐ, ๊ฐ ์ˆ˜์—ด์€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ˆ˜์—ด์€ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ถœ๋ ฅํ•ด

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • 1๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ์ˆ˜ ์ค‘์— m๊ฐœ๋ฅผ ๊ณ ๋ฅด๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.
  • ์žฌ๊ท€๋ฌธ์—์„œ ๋ฐฑํŠธ๋ž˜ํ‚น์กฐ๊ฑด์œผ๋กœ m๊ฐœ๋ฅผ ๊ณ ๋ฅธ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    private static void dfs(ArrayList<Integer> arr, int n, int m, int i){
        if (arr.size() == m){
            for (int a : arr) {
                System.out.print(a + " ");
            }
            System.out.println("");
        }

        for (int j = i + 1; j <= n; j++) {
            arr.add(j);
            dfs(arr, n, m, j);
            arr.remove(arr.size()-1);
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();

        ArrayList<Integer> arr = new ArrayList<>();
        dfs(arr,n, m, 0);
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • dfs ๋ฉ”์†Œ๋“œ์—์„œ ์žฌ๊ท€๋กœ m๊ฐœ์˜ ์ˆ˜๋ฅผ ๊ณ ๋ฅธ๋‹ค.
  • ๋ฐ˜๋ณต๋ฌธ์—์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜๋ฅผ ๊ณ ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ์ด์ „ N๊ณผ M(1)์„ ํ‘ผ ์งํ›„๋กœ ํ’€์–ด์„œ ์–ด๋ ต์ง€ ์•Š๊ฒŒ ํ’€์ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

728x90

'CodingTest > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

BOJ_15652 : N๊ณผ M (4)  (0) 2022.12.11
BOJ_15651 : N๊ณผ M (3)  (0) 2022.12.10
BOJ_15649 : N๊ณผ M (1)  (0) 2022.12.08
BOJ_1002 : ํ„ฐ๋ ›  (0) 2022.12.07
BOJ_14425 : ๋ฌธ์ž์—ด ์ง‘ํ•ฉ  (0) 2022.12.06