반응형

재귀 4

[백준 15654] N과 M (5) C++

문제 백준 15654 N과 M (5) C++ 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 풀이 n과 m (1)에서 출력값이 1 ~ n 이었다면 n과 m (5)는 사용자 입력을 받아 출력을 해야한다. 알고리즘이 바뀌는 건 없다. 백트래킹을 사용하여 순열을 출력하면 된다. 단 출력 시에는 1 ~ n을 출력하는 것이 아니라 사용자 입력을 받아 오름차순으로 정리한 vector를 출력한다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ..

알고리즘/백준 2022.05.02

[백준 1992] 쿼드트리 (C++)

문제 백준 1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 풀이 입력이 빈칸으로 구분되지 않기 때문에 string 형식으로 받은 뒤 int 형식으로 map에 저장시켜 줍니다. 루프를 돌면서 색깔이 같지 않다면 4분할해주고, 같다면 그 색깔을 출력합니다. 소스 코드 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 4..

알고리즘/백준 2021.09.09

[백준 1759] 암호 만들기 (C++)

문제 백준 1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 풀이 입력을 받은 후, 문자열을 알파벳 오름차순으로 정렬합니다. 그 이후에 루프를 돌면서 password의 크기가 length가 되면 검사를 합니다. 검사 후 조건(모음 1개 이상, 자음 2개 이상)을 만족하면 출력하고, 만족하지 못 하면 출력하지 않습니다. 소스 코드 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 32 33 34 35 36 37..

알고리즘/백준 2021.09.08

[백준 2630] 색종이 만들기 (C++)

문제 백준 2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 풀이 정해진 크기 만큼의 배열을 돈 뒤, 색깔이 모두 같으면 해당 색깔 개수를 늘려주고 색깔이 다르면 재귀를 통해 분할정복합니다. fun함수는 시작지점 sx, sy와 크기 size를 받습니다. map[sy][sx]에 따라 색깔을 나눈 뒤, 배열을 size만큼 점검합니다. 해당 배열의 색깔이 모두 같으면 해당색깔++을 해줍니다. 다르면 4개 영역으로 분할합니다. 각각 좌상 / 우상 / 좌하 / 우하 입니다. 소스 코드..

알고리즘/백준 2021.09.05
반응형