![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkPUbw%2FbtrYH2e7F9X%2F0JcrRa3BL9Ubdr53MoIdP1%2Fimg.png)
https://www.acmicpc.net/problem/15665 15665번: N과 M (11) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 N과 M 시리즈. 11번째 문제입니다. 이번에도 9번의 소스에 약간의 변형을 가해 풀어보겠습니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.* lateinit var arr: Array var n = 0 var m = 0 val sb = St..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdn5Sg3%2FbtrYJZ9wBSN%2FaK84WJdpvn0KjUYmA2Vvs0%2Fimg.png)
https://www.acmicpc.net/problem/15664 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 N과 M 시리즈 10번째 문제입니다. 이제 이 시리즈도 얼마 남지 않았군요. 다들 예상하셨듯, 9번 문제에 2, 6번과 같 변형을 가한 문제입니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.StringTokenizer lateinit var ..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbDjCs%2FbtrYJZ9v1zu%2FcSgblZKRin8SVflKEnsB7k%2Fimg.png)
https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 이번엔 새로운 변화구입니다. 5번의 문제 처럼 배열이 주어지지만, 5~8번은 n개의 자연수가 서로 다른 수 였습니다. 하지만 이번 문제부터는 중복될 수 있는 n개의 자연수가 주어집니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.StringTok..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUY1Gb%2FbtrYKFwa2b5%2FVpKfFNfAV2JNYKYZFf0FAK%2Fimg.png)
https://www.acmicpc.net/problem/15657 15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 5번의 소스에 중복을 허용한 비내림차순을 출력하는 문제입니다. 여기서 비내림차순이란, 오름차순은 항상 수가 증가하여야만 하므로 중복을 허용하지 않기 때문에, 중복이 있으면서 증가하는 수열의 경우, 비오름차순이라는 용어를 사용한다고 합니다. 소스코드 import java.io.BufferedReader import java.io.InputStrea..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSSOyS%2FbtrYGuwdO5E%2F2lAY6g3n2uvwyqv47GrwCk%2Fimg.png)
https://www.acmicpc.net/problem/15656 15656번: N과 M (7) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 이번엔 5번의 소스에 중복을 허용한 버전입니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.StringTokenizer lateinit var arr: Array var n = 0 var m = 0 val sb = StringBuilder..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwJNDk%2FbtrYIemkZPU%2Ffuslra1a8jJxdFPCVM8UPk%2Fimg.png)
https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 N과 M. 6번째 문제입니다. 이제 슬슬 레파토리를 파악하셨을 텐데요. 2~4번은 1번의 파생 문제였다가, 5번부터 변화구로 배열이 주어지고 이 배열로 백트래킹을 했다면, 이번엔 5번 + 2번 문제의 조합이네요. 주어진 숫자들로 오름차순으로 출력하는 문제입니다 소스코드 import java.io.BufferedReader import java.i..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS4LAp%2FbtrYJSbsdaj%2Fy2ufEwMIaDPDs33rfj4utK%2Fimg.png)
https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 이번엔 조금 달라졌습니다. 숫자 n이 주어지고, 1부터 n까지의 숫자를 가지고 백트래킹을 하는게 1~4번 이였다면, 이번엔 숫자들이 주어지고, 이 숫자들을 갖고 백트래킹을 수행해 경우의 수를 찾는 문제입니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader import ja..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc6JNIq%2FbtrYzlTkqhw%2FOY5DIr2ozzScNnCdApO961%2Fimg.png)
https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 1번을 베이스로 2번, 3번에서 나왔던게 섞여있네요. 1번 + 중복허용 + 비내림차순 입니다. 비내림차순이라는 말을 보고, 이게 뭐지? 내림차순이 아니라는 것 같은데, 그럼 오름차순과 무슨 차이지? 생각했는데, 오름차순은 수가 항상 증가해야 하므로, 중복되는 숫자는 허용하지 않아 중복이 있을 경우는 비내림차순 이라는 용어를 사용한다고 하네요. 지식이 늘..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnn8iY%2FbtrYChWmA62%2Frg6oP6FJSpWGaAIhr0IyxK%2Fimg.png)
https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 N과 M 시리즈. 3번째 문제입니다. 이번엔 중복을 허용하는 문제네요. 1번 소스 + 중복허용의 조합으로 풀면 될 것 같습니다. 소스코드 lateinit var arr: Array var n = 0 var m = 0 val sb = StringBuilder() fun main() { val nm = readLine()!!.split(" ") m = nm..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdhqjTo%2FbtrYz1mzQWL%2FBvdNQam1KFBFkqmeXFhChk%2Fimg.png)
https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 N과 M 시리즈. 2번째 문제입니다. 1번과 다른 점은 1번은 1 2 3, 2 1 3, 3 2 1, 3 1 2 모두 가능하였지만, 2번 문제는 오름차순 이므로 1 2 3만 가능하고 2 1 3, 3 2 1, 3 1 2 모두 허용하지 않습니다. 1번의 소스를 활용할 수 있을 것 같네요. 소스코드 lateinit var visited: Array latein..