Home
MXXI.kr
Cancel

슬라이딩 윈도우 알고리즘

개요 슬라이딩 윈도우(Sliding Window)는 배열이나 문자열의 연속된 부분 집합을 효율적으로 처리하기 위한 알고리즘 기법임 창틀에 창문을 놓고 옆으로 밀면서 이동하는 모양에서 이름이 유래됨 두 개의 중첩 루프를 단일 루프로 변환하여 $O(N^2)$의 시간 복잡도를 $O(N)$으로 개선하는 것이 주요 목적임 이전 윈도우의 결과를...

김영한의 실전 자바 - 객체 지향 프로그래밍

객체 지향 프로그래밍 김영한님의 실전 자바 강의 중 객체 지향 프로그래밍 챕터를 학습하며 절차 지향과 객체 지향의 차이, 캡슐화의 원리, 그리고 객체의 데이터와 기능을 하나로 묶는 설계 방식을 정리함 절차 지향과 객체 지향의 차이 프로그래밍 방식은 크게 절차 지향과 객체 지향으로 나눌 수 있음 절차 지향과 객체 지향의 관계 ...

주니어 백엔드 개발자가 반드시 알아야 할 지식 - 4장

💡해당 게시글은 최범균님의 ‘주니어 백엔드 개발자가 반드시 알아야 할 지식’을 개인 공부목적으로 메모함 4장에서 다루는 내용 외부 연동 문제 타임아웃과 재시도 동시 요청 제한과 서킷 브레이커 DB와 외부 연동 HTTP 커넥션 풀 이중화 외부 연동과 장애 전파 외부 연동의 중요성 현대 마이크로서비스 ...

투 포인터 알고리즘

개요 투 포인터(Two Pointers)는 1차원 배열에서 두 개의 포인터를 조작하여 원하는 결과를 얻는 알고리즘 기법임 완전 탐색 적용 시 $O(N^2)$이 소요되는 문제를 $O(N)$으로 최적화할 때 활용함 연속된 구간의 합을 구하거나 정렬된 배열에서 특정 조건을 만족하는 쌍을 찾는 문제에 효과적임 문제 식별 방법 선형...

조합(Combination) 구하기

개요 입력 크기($N$)와 문제 조건(모듈러 연산 여부)에 따라 적절한 알고리즘 선택이 필요함 조합을 구하는 3가지 방법(팩토리얼, DP, 페르마의 소정리)을 비교하고 수학적 원리를 설명함 문제 식별 방법 전체 원소 중 순서에 상관없이 특정 개수를 선택하는 모든 경우의 수를 구함 정답의 크기가 매우 커서 모듈러 연산($\%...

나머지 연산과 구간 합

개요 알고리즘에서 구간 합(Prefix Sum)은 $O(N)$의 전처리를 통해 $O(1)$로 구간의 합을 구하는 도구임 여기에 나머지 연산(Modular Arithmetic)의 분배 법칙을 결합하면 복잡한 연산 과정을 줄이는 최적화가 가능함 이 글에서는 두 개념의 수학적 증명과 이를 통해 도출되는 동치 관계를 설명함 문제 식별 방...

김영한의 실전 자바 - 기본형과 참조형

기본형과 참조형 김영한님의 실전 자바 강의 중 기본형과 참조형 챕터를 학습하며 자바의 기본형과 참조형의 차이, 메모리 관리 방식(Stack, Heap), 그리고 변수 대입 시 값 복사와 참조값 복사의 차이를 정리함 기본형과 참조형의 차이 기본형 (Primitive Type) 사용하는 값을 변수에 직접 저장하는 데이터 타입 종...

주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 3장

💡해당 게시글은 최범균님의 '주니어 백엔드 개발자가 반드시 알아야 할 실무 지식'을 개인 공부목적으로 메모하였습니다. 3장에서 다루는 내용 성능과 DB의 관계 인덱스 설계 전략 조회 성능 개선 방법 주의사항 성능과 DB의 관계 성능에 핵심인 DB 성능 문제의 대부분은 DB에서 기인함 비효율적 쿼리 한 개가 ...

구간 합(Prefix Sum)이란?

개요 구간 합(Prefix Sum)과 합 배열은 배열의 특정 구간 합을 효율적으로 계산하기 위한 알고리즘 기법임 데이터가 많을 때 매번 반복문으로 합을 구하면 비효율적이므로 미리 누적 합을 계산해두고 $O(1)$에 조회하는 방식임 문제 식별 방법 배열의 값이 변경되지 않는 정적 배열(Static Array) 상황임 특정 구...

주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 2장

💡해당 게시글은 최범균님의 '주니어 백엔드 개발자가 반드시 알아야 할 실무 지식'을 개인 공부 목적으로 메모하였습니다. 2장에서 다루는 내용 서비스 성능 측정과 개선 방법 TPS, 응답 시간 등 성능 지표의 이해 서버 확장 전략 (수직/수평 확장) DB 커넥션 풀 관리 캐싱과 CDN을 통한 성능 최적화 핵심 개념 ...