본문 바로가기

N과 M3

[C++] 백준 15649번 : N과 M (3) 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net 문제 풀이 N과 M (1) 에서 중복을 허용한 문제이다. N과 M (1) 코드에서 check 배열을 통한 중복확인을 빼면 된다. 아래 링크의 풀이 참고 [C++] 백준 15649번 : N과 M (1) 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력.. comgong-man.tistory... 2020. 4. 17.
[C++] 백준 15649번 : N과 M (2) 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net 문제 풀이 순서와 관련된 문제이다. 방법 1. 만약 N = 5, N = 3일 경우 1 2 3 1 2 4 1 2 5 1 3 2 → 1 3 4 (1 3 2는 오름차순이 아니므로) 1 3 5 ··· 와 같이 진행된다. 순서대로 진행되고 결과 수열이 오름차순이어야 하므로 첫 번째 자리는 1부터 시작하고 두 번째 자리의 숫자는 무조건 첫 번째 자리 숫자보다 큰 수가 나와야 한다. 마지막 자리 또한 무조건 두 번째 자리 숫자보다 큰 수가 나와야 한다. 즉, 중복이.. 2020. 4. 17.
[C++] 백준 15649번 : N과 M (1) 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net 문제 풀이 순서와 관련된 문제이다. 만약, M = 3, N = 5 일 경우 숫자는 중복 없이 골라야 하므로 첫 번째에 올 수 있는 숫자는 총 5가지, 두 번째에 올 수 있는 숫자는 첫 번째에 나온 숫자를 제외한 4가지, 마지막 세 번째에 올 수 있는 숫자는 첫 번째와 두 번째에 나온 숫자를 제외한 3가지가 된다. 이를 써보면 1 2 3 1 2 4 1 2 5 1 3 2 1 3 4 1 3 5 1 4 2 1 4 2 ··· 처럼 진행된다. 결과를 저장할 배열 .. 2020. 4. 17.