투 포인터 알고리즘 활용
파트너 매칭
남성과 여성의 매력도 배열에서 차이가 1 이하인 쌍의 최대 개수를 구합니다. 두 배열을 정렬한 후 포인터를 이동하며 매칭합니다.
#include <algorithm>
#include <cmath>
using namespace std;
int main() {
int maleArr[100], femaleArr[100];
int n, m, cnt = 0, i = 0, j = 0;
sort(maleArr, maleArr + n);
sort(femaleArr, ...
7월 29일 18:43에 게시됨
배열과 연결 리스트 알고리즘 기초
시간 복잡도
알고리즘 분석 시 시간과 공간 복잡도를 우선 고려합니다. O(n³) 이상의 복잡도는 실제 환경에서 비효율적입니다. n은 데이터 규모를 나타내며, 로그 복잡도(log n)는 연산 횟수가 데이터 크기에 로그적으로 비례함을 의미합니다.
배열
이진 탐색
정렬된 배열에서 중복 없을 때 적용 가능합니다. 탐색 구간을 반으로 축소하며 대상 값을 검색합니다.
class Bi ...
7월 11일 02:49에 게시됨
Codeforces Round #690 (Div. 3) 풀이
A. Favorite Sequence
길이가 n인 배열 a를 특정 규칙에 따라 재배치하여 배열 b를 만든다. 재배치 규칙은 첫 번째, 마지막, 두 번째, 마지막에서 두 번째, ... 순서로 원소를 선택하는 것이다. 배열 b가 주어졌을 때 원본 배열 a를 복원하는 문제이다.
양쪽 끝에서 중앙으로 이동하는 투 포인터 기법을 적용한다. 왼쪽 포인터는 1부터 시작하고 오른쪽 포인터는 n부터 시 ...
6월 26일 02:34에 게시됨