๊ธฐ๋ก๋ฐฉ

BOJ_15651 : N๊ณผ M (3) ๋ณธ๋ฌธ

CodingTest/Java

BOJ_15651 : N๊ณผ M (3)

Soom_1n 2022. 12. 10. 16:18

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

 

15651๋ฒˆ: N๊ณผ M (3)

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

www.acmicpc.net



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

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

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

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

public class Main {
    static int n, m;
    static StringBuilder sb;
    private static void dfs(ArrayList<Integer> arr) {
        if (arr.size() == m) {
            for (int i : arr) {
                sb.append(i + " ");
            }
            sb.append("\n");
            return;
        }

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

        ArrayList<Integer> arr = new ArrayList<>();
        dfs(arr);
        System.out.println(sb.toString());
    }
}

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

  • m๊ฐœ์˜ ๊ฐ’์„ ์ €์žฅํ•  ArrayList ๋ฐฐ์—ด์ธ arr๋ฅผ ์žฌ๊ท€ ๋ฉ”์†Œ๋“œ ์ธ์ž๋กœ ๋„˜๊ธด๋‹ค.
  • n, m์„ ์ •์ ๋ณ€์ˆ˜๋กœ ์ž…๋ ฅ๋ฐ›์•„ ์žฌ๊ท€ ๋ฉ”์†Œ๋“œ์—์„œ ์–ธ์ œ๋“  ์“ธ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
  • ๋น ๋ฅธ ์ถœ๋ ฅ์„ ์œ„ํ•ด์„œ StringBuilder์— ์ถœ๋ ฅ์„ ์ €์žฅํ•˜๊ณ  ๋งˆ์ง€๋ง‰์— ํ•œ ๋ฒˆ์— ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด๋Š” N๊ณผ M ์‹œ๋ฆฌ์ฆˆ๋ฅผ ํ’€๋ฉฐ ์ต์ˆ™ํ•ด์กŒ์ง€๋งŒ, ๋น ๋ฅธ ์ถœ๋ ฅ์ด ํ•„์š”ํ•ด์„œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋กœ 1ํšŒ ํ‹€๋ ธ๋‹ค.
    • StringBuilder๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ–ˆ๋‹ค.

728x90

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

BOJ_15654 : N๊ณผ M (5)  (0) 2022.12.14
BOJ_15652 : N๊ณผ M (4)  (0) 2022.12.11
BOJ_15650 : N๊ณผ M (2)  (0) 2022.12.09
BOJ_15649 : N๊ณผ M (1)  (0) 2022.12.08
BOJ_1002 : ํ„ฐ๋ ›  (0) 2022.12.07