전체 글

전체 글

    [백준 - 15665] N과 M (11)

    1. 문제 https://www.acmicpc.net/problem/15665 15665번: N과 M (11) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 2. 풀이과정 1. N개의 자연수 중에서 M개를 고른 수열 2. 같은 수를 여러 번 골라도 된다. 3. 중복되는 수열을 여러 번 출력하면 안 된다. 4. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 위의 네 가지 조건을 만족해야한다. 3번 조건을 만족하기 위해 같은 레벨에서 같은 수를 중복 방문하지 않아야한다. 4번 조건을 만족하기 위해 N개의 수를 오름차순 정렬해줘야한다. ..

    [백준 - 15664] N과 M (10) [C++]

    1. 문제 https://www.acmicpc.net/problem/15664 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 2. 풀이과정 N과 M (9)문제에서 아래의 조건만 추가된 문제이다. 고른 수열은 비내림차순이어야 한다. 길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다 N과 M (9) 설명 : poisson-it.tistory.com/23 [코드설명] N과 M (9)코드에 한줄만 추가해주면 된다. dfs함수내에서 if(v.size() && v..

    [백준 - 2210] 숫자판 점프 [C++]

    1. 문제 https://www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net 2. 풀이과정 6자리 수를 만들 수 있는 모든 경우의 수에 대해 중복을 제거하여 개수를 센다. [코드설명] dfs함수는 특정 정점을 시작으로 가능한 6자리 수를 모두 만들어준다. safe함수는 해당 정점이 숫자판 범위 안에 있는지 여부를 판별해준다. 모든 정점을 시작정점으로 6자리 수를 모두 만들어 보며 set 자료구조에 중복되지 않게 수들을 ..

    [백준 - 2503] 숫자 야구 [C++]

    1. 문제 https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 2. 풀이과정 1. 서로 다른 숫자 세 개로 구성된 세 자리 수를 생성한다. 2. 해당 숫자가 문제에서 주어진 모든 질문&답에 부합하는지 검사한다. 1~2를 가능한 세 자리 수들에 대해 전부 반복한다. [코드설명] dfs함수는 서로 다른 숫자 세 개로 구성된 세 자리 수를 생성해준다. 1 2 3 1 2 4 1 2 5 . . 9 8 7 순으로 생성한다. check함수는 숫자가 문제에서 주..

    [백준 - 1436] 영화감독 숌 [C++]

    1. 문제 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 2. 풀이과정 종말의 숫자란 어떤 수에 6이 적어도 3개이상 연속으로 들어가는 수이다. N번째로 작은 종말의 숫자를 찾는 문제이다. 1, 2, 3, 4, .... 모든 수를 검사하며 해당 수가 종말의 수이면 개수를 세서 개수가 N이 되면 해당 숫자를 출력해주면 된다. [코드설명] num 변수는 숫자를 하나씩늘리는 변수이다. 6이 적어도 3개 들어가면 되므로 숫자를 문자열로 바꿔서 "6..

    [백준 - 15663] N과 M (9) [C++]

    1. 문제 https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 2. 풀이과정 N개의 자연수 중에서 M개를 고른 수열을 출력하는 문제인데, 아래의 조건들을 만족해야한다. 1. 중복되는 수열을 여러 번 출력하면 안된다. 2. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. N = 4, M = 2 N개의 수 = {9, 7, 9, 1}일 때, 1 7 1 9 7 1 7 9 9 1 9 7 9 9 가 출력되어야 한다. 2번 조건을 만족하기 위해 N개의 수..