문제 출처: https://www.acmicpc.net/problem/2565 문제 시도 문제 등급이 실버이든 골드이든 동적 계획법 문제는 점화식과 메모이제이션에 대한 감이 안 잡혀서 항상 난처함만 더해갔다. 풀이 import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; import java.util.Arrays; import java.util.Comparator; public class Main { static Integer[] dp; static int[][] wire; public static void main(String[] ar..
전체 글
I'm still working on it. We must be better.문제 출처: https://www.acmicpc.net/problem/11053 문제 시도 배열의 첫 번째 요소부터 마지막 요소까지 각각 자기 위치에서 마지막까지 찾아가는 방법을 생각했으나 일단 이중 반복문으로 시간 복잡도가 O(n^2)여서 절대 좋은 결과는 안 나올거라고 생각해 동적 계획법에 관한 블로그부터 다시 찾아봤다. 풀이 import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { private static int[] arr; // 원 배열 private static int[] lis; // LI..
문제 출처: https://www.acmicpc.net/problem/9663 소요 시간 : 시도 (1h 20m) + 풀이 (20m) 문제 시도 2차원 boolean 배열을 이용한 백트래킹을 시도했다. import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { private static int n; private static int cases = 0; private static boolean[][] board; public static void main(String[] args) throws IOException { BufferedReader br = new Bu..
문제 출처:https://www.acmicpc.net/problem/2580 문제 시도 문제의 카테고리는 백트래킹으로 분류되었지만 일단 재귀로 먼저 시도해보았다. import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; import java.util.HashSet; import java.util.stream.Collectors; public class Main { private static int zeros = 0; private static HashSet set; // 입력 : 9 X 9 개의 수 입력 (0 ~ 9) private static int[][] sudoku = new int[9][9]; public static..
[ 간단 정리 ] 물리 계층 : 리피터, 허브, 케이블 데이터링크 계층 : 브릿지, 라우터 네트워크 계층 : 라우터 응용 계층 : 게이트웨이 ● OSI 계층별 네트워크 장비 1. 물리 계층 리피터 (Repeater) - 하나의 네트워크 망 안에서 전기 신호를 재생하고 증폭시키는 역할을 수행합니다. 케이블 (Cable) - 물리적으로 전기신호를 전송하는 케이블 2. 데이터링크 계층 브릿지 (Bridge) - 하나의 네트워크망 안에서 서로 다른 LAN을 연결합니다. - MAC 주소 기반 필터링 기능을 통해 더 나은 대역폭을 제공하고, 트래픽을 통제합니다. - MAC 주소 기반 리피터 기능을 제공합니다. 스위치 (Switch) - 목적지의 MAC 주소를 가지고 있는 포트에만 프레임을 전송합니다. - 브릿지와 ..
문제 출처: https://www.acmicpc.net/problem/4779 문제 시도 초반에 재귀를 Top-down으로 구현하려고 했는데, 오랜만의 재귀라 기억이 나지 않아 Bottom-Up으로 구현했다. import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); String[] kantour = new String[13]; kantour[0] = "-"; for(int i = 1; i
문제 출처: https://www.acmicpc.net/problem/12789 문제 시도 아래의 구조에 따라 코드를 작성했다. 1) Stack에 들어있는지 checker 점검 2) checker에 기록됐고, Stack 마지막에 존재한다면 Nice 3) checker에 기록됐지만, Stack 마지막에 없다면 Sad 4) checker에 없다면, 다음 번호표가 나올 때까지 넘기기 import java.io.*; import java.util.Stack; import java.util.StringTokenizer; public class Main { public static void main(String[] arsg) throws IOException { BufferedReader br = new Buffe..
문제 출처: https://www.acmicpc.net/problem/2485 문제 시도 // 가로수 수: N (3 ~ 100,000) // 가로수 위치: x ( ~ 1,000,000,000) // 방정식? -> f(n) = a*(n-1) + b // 방정식 사용 시 b는 무조건 첫 번째로 주어진 가로수 위치 // 이후 가로수 위치를 받을 때마다 자신 바로 이전의 가로수 위치와의 거리를 계산 // 가장 최소 차이를 보이는 거리를 증가 기준점 a로 삼고, a가 1이 될 때까지 1씩 빼기 import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Bu..
·CS
4. JWT (JSON Web Token) * JWT 구조와 장단점 JWT는 웹에서 사용자 인증을 위해 JSON 형식으로 암호화된 토큰을 의미합니다. header, payload, signature로 구성되며, 기존 세션 방식과는 다르게 stateless하다는 특징이 있습니다. Payload는 JSON 형식의 데이터로, 토큰을 누가 누구에게 발급했는지, 언제까지 유효한지 등의 정보를 담고 있으며 이렇듯 토큰에 담긴 사용자 정보 등의 데이터를 Claim이라고 합니다. Header와 Signature는 payload 변조를 막기 위해 존재하며 header에는 토큰의 타입과 알고리즘 종류, signature에는 토큰의 헤더, 그리고 서버에 감춘 비밀 값으로 암호화한 값을 저장합니다. JWT 방식은 세션과 다르..
·CS
1. 쿠키 (Cookie) 쿠키는 사용자를 기억하기 위해 서버가 사용자의 브라우저에 저장하는 데이터(작은 기록 정보 파일)입니다. * 쿠키 동작 원리 HTTP의 일종으로 사용자가 특정 웹 사이트를 방문할 경우, 1) 클라이언트가 페이지를 요청(request)하면 (사용자의 웹 사이트 접근) 2) 웹 서버는 쿠키를 생성하여 정보를 담아 클라이언트에게 응답(response)합니다. 3) 응답 받은 쿠키는 클라이언트 PC에 저장되며, 다시 서버에 요청 시 요청과 함께 쿠키를 전송합니다. 4) 동일 사이트 재방문 시 클라이언트의 PC에 해당 쿠키가 있는 경우, 요청 페이지와 함께 쿠키를 전송합니다. * 쿠키 특징 1) 이름, 값, 만료일, 경로 정보로 구성되어 있습니다.. 2) 클라이언트는 총 300개의 쿠키를..