본문 바로가기

프로그래밍116

[백준/C,C++] 15650번: N과 M (2) www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net hackids.tistory.com/9 [백준/C,C++] 15649번: N과 M (1) www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열 hackids.tistory.com 15649번과 유사한 백트래킹 입문 문제입니다. 로직.. 2021. 3. 6.
[백준/C,C++] 15649번: N과 M (1) www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 백트래킹 입문 문제입니다. 예제 입력을 예로 들면 4 2가 입력되었을 때, 1부터 4까지 자연수 중에서 중복 없이 2개를 고른 모든 수열을 나열해야 합니다. 흔히 말하는 트리 탐색 알고리즘과 상당히 유사한 모양인데, 이중 조건에 맞지 않는 노드를 배제하고 탐색한다는 점이 백트래킹의 특징입니다. 해당 트리에서 1 이후에는 중복되는 1이 올 수 없으니 2, 3, 4가 이후 노드로 선택될 수 있습니다. #inclu.. 2021. 3. 5.
[백준/C,C++] 17298번: 오큰수 www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 로직 자체는 크게 어렵지 않을 거 같았는데 정답률이 많이 낮아 의아해하다가 시간 초과로 한번 틀린 후 꽤 어려운 문제라는 걸 알았습니다. 혼자 고민을 좀 해보다 힌트를 조금 찾아본 후 풀었는데, 쉽지 않았던 문제였습니다. 예제 입력으로 먼저 예를 들어 보면 스택에 3, 5, 2, 7이 push되어 있는 상태입니다. 각 인덱스 0, 1, 2, 3의 오큰수를 찾아야하는데 인덱스를 저장할 벡터를 하나 더 만든 후 오큰수를 찾게 되.. 2021. 3. 3.
[백준/C,C++] 1874번: 스택 수열 www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 1씩 증가하는 자연수를 푸쉬할 수 있는 스택으로 주어진 수열을 만들 수 있는가에 대한 문제입니다. 예제로 주어진 4, 3, 6, 8, 7, 5, 2, 1의 경우 1, 2, 3, 4를 차례로 push하고 pop을 2번 하면 4, 3이 출력됩니다. 이후 5, 6을 push하고 pop을 1번 하여 6을 출력, 7, 8을 push~.. .. 2021. 3. 3.