2026/02/05 5

자료구조 - 스택 (Stack) 이란? /BOJ 10828, 28278

자료구조를 배우게 되면 가장 먼저 배우는 스택, 우리가 일상 속 많이 들어보는 용어이기도 하다. 흔히 스택을 쌓는다 라고 표현을 하는데, 쌓는다 라는 동사는 스택의 성질에서 유래되었다. 스택은 선입후출 FILO(First-In-Last-Out), 후입 선출 LIFO(Last-In-First-Out) 규칙을 따른다. 쉽게 설명하면, 마지막에 들어간 것이 처음으로 나오는 것으로, 젠가통에 젠가를 하나씩 꺼낼때 가장 마지막(위)에 있는 젠가 먼저 꺼내는 것과 같은 로직이다. 스택을 사용하는 명령어는 크게 5가지가 있다push(n) : stack의 최상단 (마지막)에 값을 넣는다.pop() : stack의 최상단 값을 꺼내고 반환한다.peek(), top() : stack 최상단 값을 반환한다. (pop에서 꺼..

[백준] 18870번 좌표 압축

좌표압축 - 실버 2문제수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다.Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다.X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자.입력첫째 줄에 N이 주어진다.둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다.출력첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다.제한1 ≤ N ≤ 1,000,000-109 ≤ Xi ≤ 109예제 입력 152 4 -10 4 -9예제 출력 12 3 0 3 1예제 입력 261000 999 1000 999 1000 999예제..

알고리즘/BOJ 2026.02.05

PATCH는 됐는데 GET이 안 바뀐다 : Next.js App Router 자동 정적 최적화 (Implicit Static Optimization)

이번 포스트는 Next.js 서버의 자동 정적 최적화 (Implicit Static Optimization) 에 관한 것이다. 최근 진행한 웹 프로젝트인 ESSENTIA Science 홈페이지 (essentia-sci.org). 게시판 기능부터, 특정 사용자(임원진)에게는 PATCH 권한을 부여하여, 회원과 조직도를 수정 할 수 있게 구현하였다. 구조는 다음과 같다. 일반적인 공개 페이지인 Member Page와, 조직도는 어떠한 인증 없이 단순 GET 요청으로 DB에서 데이터를 받아올 수 있다.다만 PATCH가 포함된 Admin Page는 GET, PATCH 등 모든 요청이 로그인 여부와 관리자 권한 여부를 OAuth를 통해 받아와 인증해야 요청을 할 수 있는 구조이다. 이슈이러한 구조에서 다음과 같은..

Web/Next.js 2026.02.05

암호화 기법, AES, RSA, 해시함수

1. 시저 암호알파벳을 왼쪽으로 3칸 씩 밀어서 구현한 암호법2. 스키테일 암호굵기와 길이가 같은 원통 모양의 막대기에 긴 양피지 리본을 위에서 아래로 나선형으로 감으면 암호문이 나온다암호화의 5가지 요소1. 평문대칭 암호화 알고리즘의 입력값으로, 수신자가 전달호자하는 메세지 원문2. 암호화 알고리즘입력값 평문에 대한 치환, 변환, 대치등 암호문을 생성하는 방법3. 키암호화 알고리즘에서 특정 형태로 치환하기 위해 사용되는 값4. 암호문암호화 알고리즘을 통해 생성된 숨겨진 데이터5. 복호화 알고리즘암호화 알고리즘의 역과정으로 송신자 측에서 암호문을 입력값으로 본래의 평문으로 출력대칭암호화 기법 : 암호문을 받은 송신자가 동일한 키를 활용한 복호화 알고리즘으로 평문을 생성해낼 경우블록암호 : 평문의 블록에 ..

컴퓨터 보안 2026.02.05

에니그마의 암호화 내부 원리

에니그마(Die Enigma)는 제2차 세계 대전 시기 독일군이 사용했던 휴대용 암호 생성기이다. 전쟁 중 통신 보안을 위하여 만들어진 암호 해독, 생성기로, 당시 독일군의 핵심 기구였다.에니그마 사용법에니그마는 암호 생성, 해독기로써, 키보드로 전달 내용을 입력하면, 암호환된 메시지가 상단 램프보드에 표시되며, 이 메시지를 전송하면 된다. 암호를 해독할 때는 반대로 받은 메시지를 키보드에 입력하면 램프보드에 원 메시지가 표시된다.에니그마의 내부구조에니그마는 배터리, 키보드, 플러그보드, 로터, 램프보드로 구성되어 있다배터리에니그마 오른쪽 상단에 위치해있으며, 기계에 전원을 공급한다키보드26키의 알파벳 키보드로 각각 스프링이 달린 붐에 연결되어 있다. 키와 연결되어 있는 스위치는 3개의 구리탭으로 구성되..

컴퓨터 보안 2026.02.05