본문 바로가기

분류 전체보기146

VPN이란? IPsec VPN vs SSL VPN ✔️ VPN 이란?VPN(가상 사설 네트워크)이란? 인터넷 사용자가 마치 사설망에 직접 연결된 것처럼 보이게 하여 인터넷에 안전하게 액세스할 수 있도록 하는 보안 서비스이다. 예를 들어, 외부에서 회사의 클라우드 내부 자료에 접근하고자 할 때, 외부 네트워크와 회사 내부 네트워크 간에 암호화된 터널을 생성하여 마치 내부망에 직접 접속한 것처럼 안전하게 데이터를 송수신할 수 있게 해준다. ❯ VPN 원리VPN(Virtual Private Network)은 사용자 트래픽이 인터넷에 도달하기 전에 VPN 서버를 통해 트래픽을 전송하여 데이터를 암호화하고 IP 주소를 숨긴다. 이러한 암호화는 사용자가 실제로 접속한 IP 주소가 아닌 VPN 서버의 IP주소로 방문한 것처럼 보이도록 한다.1. 보안 연결 생성 – .. 2025. 4. 4.
[백준] 1992 쿼드트리 : 실버 (java) - 분할정복 분할정복 뿌수기!!!!!!!!!!👊🏻✔️ 문제✔️ 풀이 코드이 문제는 2차원 배열을 압축하는 쿼드트리(Quad Tree) 구조를 구현하는 전형적인 분할 정복 문제다.백준 2630 색종이만들기 문제를 풀어봤다면, 쉽게 풀 수 있을 것같다. (https://cse-gr.tistory.com/178)현재 영역이 모두 같은 값(0 또는 1)이라면 → 해당 숫자 하나만 출력한다.값이 섞여 있다면 → 영역을 4등분하여 각각 재귀 호출한다.괄호를 출력하는 코드를 어디다가 넣어야할지 고민했는데, 한 덩어리에 대한 색을 출력할 때 괄호를 출력하면 된다고 생각하니 쉽게 풀렸다. 즉, 여는 괄호는 재귀 호출 전에, 닫는 괄호는 재귀 호출이 모두 끝난 후에 출력한다.import java.io.IOException;impo.. 2025. 3. 24.
[백준] 14940 쉬운 최단거리 : 실버 1 (java) - BFS ✔️문제 ✔️ 풀이 코드이 문제는 BFS 알고리즘을 사용해 2차원 배열에서 시작점으로부터의 최단 거리를 구하는 문제이다.Point 클래스를 정의해서 각각의 위치와 출발점으로 부터의 거리를 함께 저장했다. import java.io.IOException;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;import java.util.Queue;import java.util.LinkedList;public class Main{ static int n, m; static int[][] arr; static int[] dx = {-1,0,0,1}; static int[].. 2025. 3. 24.
[백준] 2630 색종이만들기 : 실버 2 (java) 문제 링크 : https://www.acmicpc.net/problem/2630더보기문제아래 과 같이 여러개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은 하얀색으로 칠해져 있거나 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이를 만들려고 한다.전체 종이의 크기가 N×N(N=2k, k는 1 이상 7 이하의 자연수) 이라면 종이를 자르는 규칙은 다음과 같다.전체 종이가 모두 같은 색으로 칠해져 있지 않으면 가로와 세로로 중간 부분을 잘라서 의 I, II, III, IV와 같이 똑같은 크기의 네 개의 N/2 × N/2색종이로 나눈다. 나누어진 종이 I, II, III, IV 각각에 대해서도 앞에서.. 2025. 3. 14.
[백준] 1283 단축키 지정 : 실버 1(java) - 구현 https://www.acmicpc.net/problem/1283문제한글 프로그램의 메뉴에는 총 N개의 옵션이 있다. 각 옵션들은 한 개 또는 여러 개의 단어로 옵션의 기능을 설명하여 놓았다. 그리고 우리는 위에서부터 차례대로 각 옵션에 단축키를 의미하는 대표 알파벳을 지정하기로 하였다. 단축키를 지정하는 법은 아래의 순서를 따른다.먼저 하나의 옵션에 대해 왼쪽에서부터 오른쪽 순서로 단어의 첫 글자가 이미 단축키로 지정되었는지 살펴본다. 만약 단축키로 아직 지정이 안 되어있다면 그 알파벳을 단축키로 지정한다.만약 모든 단어의 첫 글자가 이미 지정이 되어있다면 왼쪽에서부터 차례대로 알파벳을 보면서 단축키로 지정 안 된 것이 있다면 단축키로 지정한다.어떠한 것도 단축키로 지정할 수 없다면 그냥 놔두며 대소문.. 2025. 3. 14.
[백준] 4963 섬의 개수 : 실버 2(java) - BFS ✔️문제정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오.한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다.입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다.둘째 줄부터 h개 줄에는 지도가 주어진다. 1은 땅, 0은 바다이다.입력의 마지막 줄에는 0이 두 개 주어진다.출력각 테스트 케이스에 대해서, 섬의 개수를 출력한다.예제 입력.. 2025. 3. 9.