๊ธฐ๋ก๋ฐฉ

BOJ_15649 : N๊ณผ M (1) ๋ณธ๋ฌธ

CodingTest/Java

BOJ_15649 : N๊ณผ M (1)

Soom_1n 2022. 12. 8. 15:01

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

 

15649๋ฒˆ: N๊ณผ M (1)

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

www.acmicpc.net



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

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

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

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

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

        for (int i = 1; i <= n; i++) {
            if (!arr.contains(i)) {
                arr.add(i);
                dfs(arr, n, d);
                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);
    }
}

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

  • ArrayListํ˜• arr ๋ฐฐ์—ด์— m๊ฐœ์˜ ๊ฐ’์„ ์„ ํƒํ•ด ๋„ฃ๊ณ , ๊ฐ€๋“์ฐจ๋ฉด ์ถœ๋ ฅํ•œ๋‹ค.
  • ์ด๋ฏธ ๋“ค์–ด๊ฐ„ ๊ฐ„ ๊ฐ’์€ ํฌํ•จ๋˜๋ฉด ์•ˆ๋˜๋ฏ€๋กœ arr.contains()๋กœ ํ™•์ธํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • contains()๋กœ ํ™•์ธํ•˜๋ฉด ํšจ์œจ์ด ์ข‹์ง€ ์•Š์„๊ฑฐ๋ผ ์ƒ๊ฐํ•˜๊ณ  boolean๋ฐฐ์—ด visit์„ ๋งŒ๋“ค์–ด์„œ ์ฒดํฌํ•ด๋ดค์ง€๋งŒ ๋” 256ms ๋” ๋Š๋ ค์ง€๋Š”๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ๋‹ค.

728x90

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

BOJ_15651 : N๊ณผ M (3)  (0) 2022.12.10
BOJ_15650 : N๊ณผ M (2)  (0) 2022.12.09
BOJ_1002 : ํ„ฐ๋ ›  (0) 2022.12.07
BOJ_14425 : ๋ฌธ์ž์—ด ์ง‘ํ•ฉ  (0) 2022.12.06
BOJ_1269 : ๋Œ€์นญ ์ฐจ์ง‘ํ•ฉ  (0) 2022.12.06