본문 바로가기

코딩테스트

(34)
[Algorithm] 슬라이딩 윈도우 알고리즘(Sliding Window Algorithm) 1. 슬라이딩 윈도우 알고리즘(Sliding Window Algorithm)이란? 슬라이딩 윈도우 알고리즘은 고정 사이즈의 윈도우를 이동시키면서, 윈도우 내에 있는 데이터를 이용해 문제를 풀이하는 알고리즘을 말한다. 이때 윈도우 안에 있는 데이터는, 양 끝에 있는 원소들만 변화한다. 2. 예시 현수의 아빠는 제과점을 운영합니다. 현수 아빠는 현수에게 N일 동안의 매출기록을 주고 연속된 K일 동안의 최대 매출액이 얼마인지 구하라고 했습니다. 만약 N=10이고 10일 간의 매출기록이 아래와 같습니다. 이때 K=3이면 12 15 11 20 25 10 20 19 13 15 연속된 3일간의 최대 매출액은 11+20+25=56만원입니다. 여러분이 현수를 도와주세요. //내코드 function solution(k, ..
[Algorithm] 투 포인터 알고리즘 (Tow Pointer Algorithm) 1. 투 포인터 알고리즘(Tow Pointer Algorithm)이란? 투 포인터 알고리즘은 말 그대로 두 개의 포인터 위치를 기록하며 처리하는 알고리즘을 말한다. 주로 정열된 배열에서 목표 값에 해당하는 요소를 찾을때 많이 사용한다. 투 포인터 알고리즘에는 서로를 향해 두 포인터를 움직이는 것과 같은 방향으로 두 포인터를 움직이는 것, 2가지 유형이 있다. 1) 서로를 향해 두 포인터를 움직이는 유형 두 개의 포인터를 시작과 끝에 설정하고, 포인터가 만날때까지 서로를 향해 이동한다. 2) 같은 방향으로 두 포인터를 움직이는 유형 두 개의 포인터를 같은 위치에 설정하고, 동일한 방향으로 포인터를 이동한다. 2. 예제 오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램..