일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 코드스테이츠 백엔드 교육과정
- 코드스테이츠 부트캠프 합격 후기
- 코드 스테이츠 백엔드 교육과정
- 금감원
- 보험금 지급거절
- Spring
- 자바
- Code States 백엔드 합격 후기
- 코테 합격후기
- 금융감독원 민원신청
- 코드스테이츠 합격 후기
- 금융감독원
- Gamsgo
- 백내장 금감원
- 메서드
- 코드스테이츠 백엔드 후기
- 코드스테이츠 합격
- 겜스고
- 에이치엘비
- Java
- HLB
- 백내장
- CodeState 후기
- codestates 국비지원 1기 합격 후기
- 코드스테이츠 백엔드 부트캠프 합격
- 백준 알고리즘
- 코드스테이츠 부트캠프
- 금감원 백내장 민원
- 해시
- 백내장 다초점렌즈 삽입술
Archives
- Today
- Total
개발하는 동그리
백준 알고리즘 [백트래킹] N과 M (3)_15651_실버3 본문
반응형
문제
자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.
1부터 N까지 자연수 중에서 M개를 고른 수열같은 수를 여러 번 골라도 된다.
체감 난이도
실버 3 ~ 실버 5
문제 풀이 소감
풀어보지 않았다면 정답을 보고 유형을 파악할 필요 있음 (처음엔 어려움)
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static int[] arr;
static int N,M;
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 초기화
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
arr = new int[M];
dfs(0);
System.out.println(sb);
}
static void dfs(int depth) {
if(depth == M) {
for (int val : arr) {
sb.append(val).append(' ');
}
sb.append('\n');
return;
}
for (int i = 1; i <= N; i++) {
arr[depth] = i;
dfs(depth + 1);
}
}
}
문제 바로가기
https://www.acmicpc.net/problem/15651
반응형
'알고리즘 > 백트래킹' 카테고리의 다른 글
백준 알고리즘 [백트래킹] N과 M (2)_15650_실버3 (0) | 2024.11.29 |
---|---|
백준 알고리즘 [백트래킹] N과 M (1)_15649_실버3 (1) | 2024.11.29 |