알고리즘 관련(35)
-
[순열] 백준 : 다음 순열, 이전 순열, 모든 순열
다음 순열 : https://www.acmicpc.net/problem/10972 이전 순열 : https://www.acmicpc.net/problem/10973 모든 순열 : https://www.acmicpc.net/problem/10974 다음 순열과 이전 순열에선 우선 input으로 어떤 수열이 주어진다.그러면 결과로 그 수열 이후/이전에 오는 순열(permutation)을 프린트한다. 모든 순열에선 n이 주어지며, 1 ~ n 까지 모든 permutation을 구하면 된다. 1. 반복문으로 해결하기 - 다음 순열 next_permutation이 치트키이지만... 안쓰고 반복문으로 도전해보았다. #include #include #include using namespace std; int N, k;..
2021.07.03 -
[순열] 백준 : N과 M - 2, 4, 6, 8, 10, 12 (조합)
N과 M (2) : https://www.acmicpc.net/problem/15650 N과 M (4) : https://www.acmicpc.net/problem/15652 N과 M (6) : https://www.acmicpc.net/problem/15655 N과 M (8) : https://www.acmicpc.net/problem/15657 N과 M (10) : https://www.acmicpc.net/problem/15664 N과 M (12) : https://www.acmicpc.net/problem/15666 2번은 n개의 자연수 중 m개를 고르는 조합(nCm) 문제이고, 4번은 중복 조합을 구하는 문제이다. 6번은 2번과 똑같이 nCm을 구하는 문제인데, n개의 자연수가 크기에 상관없이 ..
2021.07.02 -
[순열] 백준 : N과 M - 1, 3, 5, 7, 9, 11 (순열)
N과 M (1) : https://www.acmicpc.net/problem/15649 N과 M (3) : https://www.acmicpc.net/problem/15651 N과 M (5) : https://www.acmicpc.net/problem/15654 N과 M (7) : https://www.acmicpc.net/problem/15656 N과 M (9) : https://www.acmicpc.net/problem/15663 N과 M (11) : https://www.acmicpc.net/problem/15665 1번은 n개의 자연수 중 m개를 고르는 순열(nPm)을 구하는 문제이고, 3번은 중복 순열을 구하는 문제이다. 5번은 1번과 똑같이 nPm을 구하는 문제인데, n개의 자연수가 크기에 상..
2021.07.02 -
[재귀] 백준: 1, 2, 3 더하기
https://www.acmicpc.net/problem/9095 1. 문제 이해 => 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 1, 2, 3을 사용해서, 1, 2, 3의 합으로 n을 나타내는 방법의 수를 구하는 것. 2. 재정의 & 추상화 => 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. == 1, 2, 3을 사용하여 n을 나타내는 모든 경우의 수를 구하여라. == 완전 탐색 문제 == 재귀, 분할 정복등을 사용 3. 설계 재귀적 접근 : 함수 내부에서 for 문으로 1, 2, 3을 돌면서 n - 1, n - 2, n - 3한 값을 다시 함수에 인자로 넣음. 기저 사례는 n이 0..
2021.06.28 -
스택 (Stack) 문제 유형
1. 괄호 쌍이나 문자 확인 유형 (기본 유형) 2. 오큰수 유형 (심화 유형) 3. 커서 이동 유형 4. 후위 표현식 유형 1. 기본 유형 : 괄호 쌍이나 문자 확인 유형 괄호 (실버 4) : https://www.acmicpc.net/problem/9012 좋은 단어 (실버 4): https://www.acmicpc.net/problem/3986 문자열 폭발 (골드 4) : https://www.acmicpc.net/problem/9935 => 괄호 혹은 문자의 순서, 규칙이 조건을 만족하는지 확인하는 유형. => 보통은 input을 스택안에 넣어두고, 들어오는 input에 따라 규칙이 맞으면 true 혹은 pop, 규칙이 틀리면 false 혹은 전부 pop. => 괄호쌍 : 스택을 하나 생성하고, ..
2021.06.27 -
17299 - 오등큰수
https://www.acmicpc.net/problem/17299 17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 랭크 : 골드 3 17298 오큰수와 세트인 문제다. 접근법도 거의 흡사하다. 1. 문제 이해 => 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오등큰수 NGF(i)를 구하려고 한다. Ai가 수열 A에서 등장한 횟수를 F(Ai)라고 했을 때, Ai의 오등큰수는 오른쪽에 있으면서 수열 A에서 등장한 횟수가 F(Ai)보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한..
2021.06.21 -
17298 - 오큰수
https://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 랭크 : 골드 4 1. 문제 이해 => 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) =..
2021.06.21 -
328. Odd Even Linked List
https://leetcode.com/problems/odd-even-linked-list/ Odd Even Linked List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 홀수번째 연결리스트 뒤에 짝수번째 연결리스트가 오도록 재배열하는 문제이다. 1. 문제 이해 => Given the head of a singly linked list, group all the nodes with odd indices together followed by the nod..
2021.06.20