![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..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLjO9s%2FbtrYzpg0XIQ%2F6pZRFrNgPIWGbdukjZj2pK%2Fimg.png)
https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 백트래킹 (Back Tracking) 백트래킹(Back Tracking)을 연습하기에 아주 좋은 문제입니다. 백트래킹, 우리 말로는 후퇴 탐색 혹은 퇴각 탐색 등으로 번역되는데, 이름에서 느껴지는 뉘앙스와 같이 주어진 해를 찾다가 막다른 길을 발견했을 때, 후퇴하여 다른 길을 찾는 방법입니다. 무엇인지 감이 잘 안오시죠? 그래프 탐색 알고리즘중 하나인 ..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqgPpG%2FbtrYtxdTFv2%2FqzFYMABZ6WcOL0bl7Glakk%2Fimg.png)
https://www.acmicpc.net/problem/2693 2693번: N번째 큰 수 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000 www.acmicpc.net 난이도 : 브론즈 1 태그 : 정렬 설명 각 배열들이 주어졌을때, 배열들의 n번째 큰 수를 출력하는 문제입니다. 크기가 항상 10이고 n은 항상 3인데... 문제 제목이 왜 n번째 큰 수인지 모르겠네요. 보통 n번째 큰수라 하면 입력으로 n을 받을텐데, 조금 독특한 문제인 것 같습니다. 소스코드 import java.util.StringTokenizer fun main()..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHQqJU%2FbtrYsOUkJl6%2FIqC0jnQs1zLF62vVKIt4a1%2Fimg.png)
https://www.acmicpc.net/problem/2458 2458번: 키 순서 1번부터 N번까지 번호가 붙여져 있는 학생들에 대하여 두 학생끼리 키를 비교한 결과의 일부가 주어져 있다. 단, N명의 학생들의 키는 모두 다르다고 가정한다. 예를 들어, 6명의 학생들에 대하여 www.acmicpc.net 난이도 : 골드 4 태그 : 그래프 이론, 그래프 탐색, 플로이드 워셜 설명 https://uknowblog.tistory.com/168 [백준 10159번] [Kotlin] 저울 https://www.acmicpc.net/problem/10159 10159번: 저울 첫 줄에는 물건의 개수 N 이 주어지고, 둘째 줄에는 미리 측정된 물건 쌍의 개수 M이 주어진다. 단, 5 ≤ N ≤ 100 이고, ..