Search

์ด์†Œ์˜

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
1618
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
package com.likelion.boj; import java.util.Scanner; public class Main15652 { // N๊ณผ M(4) static int N; static StringBuilder answer = new StringBuilder(); private void dfs(int[] select, int start, int idx) { if(idx == select.length) { for (int num : select) { answer.append(num).append(" "); }answer.append("\n"); return; } for (int i = start; i <= N; i++) { select[idx] = i; dfs(select, i, idx+1); } } public static void main(String[] args) { Main15652 main = new Main15652(); Scanner sc = new Scanner(System.in); N = sc.nextInt(); int M = sc.nextInt(); main.dfs(new int[M], 1, 0); System.out.println(answer.toString()); } }
Java
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ

๋ฐฑํŠธ๋ž˜ํ‚น์ด๋ž€?

โ€ข
๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํ™•์ธํ•˜๋˜, ํ•ด๊ฐ€ ๋  ๊ฒƒ ๊ฐ™์ง€ ์•Š๋‹ค๋ฉด ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ ๋” ์ด์ƒ ๊ฐ€์ง€ ์•Š๊ณ  ๋˜๋Œ์•„๊ฐ€๋Š”(๊ฐ€์น˜์ง€๊ธฐ) ์•Œ๊ณ ๋ฆฌ์ฆ˜
๋ฐฑํŠธ๋ž˜ํ‚น ์„ค๋ช… ์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ

์ฝ”๋“œ ์„ค๋ช…

ํด๋ž˜์Šค ๋‚ด์˜ ๋ชจ๋“  ๋ฉ”์„œ๋“œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก static ๋ณ€์ˆ˜๋กœ N๊ณผ ์ •๋‹ต ๋ฌธ์ž์—ด์„ ๋‹ด์„ answer ๋ณ€์ˆ˜ ์„ ์–ธ
N๊ณผ M์„ ์ž…๋ ฅ ๋ฐ›๊ณ  ์„ ํƒํ•œ ์ˆœ์—ด์„ ๋‹ด์„ M๊ธธ์ด์˜ ๋ฐฐ์—ด(select), ์‹œ์ž‘ ์ธ๋ฑ์Šค(start), select ๋ฐฐ์—ด์˜ ํ˜„์žฌ ์ธ๋ฑ์Šค(idx)๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ธฐ๊ธฐ
for๋ฌธ์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ start~N๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋ฉฐ select ๋ฐฐ์—ด์˜ idx ์ธ๋ฑ์Šค์— ์ˆ˜๋ฅผ ๋‹ด๊ธฐ
์ˆ˜๋ฅผ ๋‹ด์€ ํ›„์—๋Š” select๋ฐฐ์—ด์˜ ํ˜„์žฌ ์ธ๋ฑ์Šค์ธ idx์— +1์„ ํ•ด์ฃผ์–ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์คŒ์œผ๋กœ์จ ๋‹ค์Œ ์ธ๋ฑ์Šค์—๋„ ์ˆ˜ ์ฑ„์šฐ๊ธฐ
~์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ select ๋ฐฐ์—ด์„ ์ฑ„์›Œ๋‚˜๊ฐ€๊ธฐ
๋งŒ์•ฝ, idx๊ฐ€ select ๋ฐฐ์—ด์˜ ๊ธธ์ด์™€ ๊ฐ™๋‹ค๋ฉด select ๋ฐฐ์—ด์ด ๋ชจ๋‘ ์ฑ„์›Œ์กŒ๋‹ค๋Š” ์˜๋ฏธ์ด๋ฏ€๋กœ, foreach๋ฌธ์„ ์ด์šฉํ•˜์—ฌ answer์— select์˜ ์›์†Œ๋ฅผ ๊ณต๋ฐฑ๊ณผ ํ•จ๊ป˜ ๋‹ด์•„์ฃผ๊ธฐ
๊ฐ ์ˆœ์—ด์€ ์ค„๋ฐ”๊ฟˆ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋‰˜๋ฏ€๋กœ select ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์›์†Œ๋ฅผ ๋‹ด์•„์คฌ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ๋งˆ์ง€๋ง‰์— ์ค„๋ฐ”๊ฟˆ Escape ๋ฌธ์ž์—ด์ธ \n์„ ๋‹ด์•„์ฃผ๊ธฐ
์žฌ๊ท€๋ฅผ ๋ชจ๋‘ ๋Œ์•˜๋‹ค๋ฉด main()์—์„œ ์žฌ๊ท€๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„ ์ˆœ์—ด ๊ฒฐ๊ณผ ๋ฌธ์ž์—ด์ธ answer๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๊ธฐ