일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준
- g1gc
- 분할정복
- 그리디
- GarbageCollector
- 프로세스
- 이진탐색
- 문제풀이
- BFS
- 마크다운
- 회고
- springboot
- 몬티홀
- 브루트포스
- 적정 스레드
- Stack
- 배열 돌리기1
- DP
- GC
- github
- 빌더패턴
- Greedy
- 구현
- Python
- 그래프탐색
- 면접복기
- deque
- 정수론
- Markdown
- 그래프 탐색
- Today
- Total
목록프로그래밍 (40)
FeelingXD
🤔 - 스프링 부트3.x 버전부터 Spring-Security 설정법들이 몇가지 변경 되었습니다. 알게 된점 몇가지를 작성합니다. 1. Security http Request 을 lambda 형식으로 ! 기존 HttpSecurity 의 Request 관련 적용이 변경되었습니다. //예시코드 @Bean public SecurityFilterChain defaultFilter(HttpSecurity http) throws Exception { http .securityMatchers.requestMatchers("/api/**") .and() .authorizeHttpRequests.anyRequest().hasRole("USER") .and() .httpBasic(Customizer.withDefaults..
❓ Problem 🤔 How 문제이름이 정말 직관적이라고 생각되는 문제 2n * 2n 의 형태의 board 가 주어지고 입력받은 r,c 번째 원소는 언제 방문 하는지 출력하는 문제이다. 수학의 사분면으로 접근하기 수학의 사분면의 기준으로 현재 접근하는 사각형의 한변의 길이가 얼마인지 알수 있다면 모든 칸을 방문하지 않더라도 답을 도출 할 수 있다. 처음 탐색은 (0,0) 부터 탐색한다. if y + l
❓ Problem 🤔 How 여담으로 이러한 쿼드트리 방식은 실제 비디오 압축, 등 여러 압축기술에 사용된다 ! 문제를 보고 딱 분할정복 문제이다 싶었는데 어떻게 구현하는지 살짝 먹먹 했는데 다행이 잘 해결했다. 😅 구현, 분할정복 문제를 익숙하게 할수있도록 연습해야겠다. 수학의 사분면을 이해하고 접목해야한다. 쿼드트리 지문에 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축 으로 명시되어 있다. 행열을 탐색하며 처음 글자와 비교했을때 다른글자가 있으면 시작점을 기준으로 4분면을 나누고 작은단위로 쪼개면서 다시 압축여부를 판별해야한다. compression 함수 해당함수는 압축하는 함수임과동시에 재귀적으로 호출..
이 글에서는 가상화 종류인 Docker에 대해서 작성합니다. Docker Docker는 Docker , inc 가 개발중인 컨테이너 환경을 제공하기 위한 소프트웨어입니다. Docker는 애플리케이션이 움직이는 환경을 컨테이너라는 단위로 가상화하고, 이 컨테이너형 가상화 뿐만아니라 컨테이너의 베이스가 되는 이미지를 효율적으로 만드는(빌드) 기능과 이미지를 배포하기 위한 구조(Docker Hub)도 갖추고 있는 것이 특징입니다. 이 글에서는 Docker의 구조 특히 컨테이너형 가상화와 이미지에 관한 부분을 간단하게 설명합니다. VM 과 Docker Docker가 제공하는 가상화의 큰 장점은 효율성입니다. 이 효율성은 도커가 컨테이너 형식의 가상화를 제공하기 때문에 실현되는것인데 지금까지 사용되었던 기타 가상..
❓ Problem 문제링크 🤔 How 중요한 포인트는 다음과 같다. 펠린드롬이라면 2 , 유사 펠린드롬이면 1, 둘다 아니라면 0을 반환한다. 유사펠린드롬은 문자 하나를 제거한뒤에 펠린드롬이 되는경우이다. 투포인터를 이용해 펠린드롬을 탐색하는 방법으로 접근했다. 그후 맞지않는 같은 단어가 아닌걸 발견하게 된다면 해당문자를 지우고 펠린드롬인지 확인하는 방법이다. 이때 좌측문자, 우측문자 두개가 있으므로 둘중 하나를 제거하여 펠린드롬 여부를 확인해야하는데 이때는 각단어 자리를 없에서 만든 새로운 문자가 펠린드롬인지 확인해준다. (slicing 을 이용하여 간단하게 새로운 문자열을 만드는 방법을 사용했다.) ❗ Solve # 회문 import sys input = sys.stdin.readline def ch..
❓ Problem 문제링크 🤔 How 그래프 탐색문제 로 분류되고 100칸에 가장 빨리가는경우를 찾는것이다. 뱀과 사다리를 만날경우 반드시 이동한다 이점을 놓지기 쉬운데 뱀과 사다리를 만나서 visited 체크를 하고 넘기는 방법으로 접근한다면 뱀 (혹은 사다리) 시작지점에서 멈추는 경우도 계산해버리게 된다. (예를들어 2->16 으로가는 사다리가있다면 사실상 2번은 방문처리 할 수없다.) ❗ Solve # 뱀과 사다리 게임 import sys from collections import deque, defaultdict input = sys.stdin.readline def solution(): global visited, board, snake_and_stair N, M = map(int, input(..
몬티홀 문제(monty-hall problem) Suppose you’re on a game show, and you’re given the choice of three doors. Behind one door is a car, behind the others, goats. You pick a door, say #1, and the host, who knows what’s behind the doors, opens another door, say #3, which has a goat. He says to you, "Do you want to pick door #2?" Is it to your advantage to switch your choice of doors? 당신이 한 게임 쇼에서 3개의 문 중에..
Stream 이 글에서는 Java 8 에서 추가된 Java 의 Stream 에 대해서 다룹니다. 스트림 ? 🤔 Java 오라클 공식문서에서 다음과 같이 Stream 을 설명합니다. [!NOTE] A sequence of elements supporting sequential and parallel aggregate operations. [!NOTE] 순차 및 병렬적인 집계연산을 지원하는 연속 된 요소 라고 표현하고 있습니다. 배열, 집합등 특정 집단의 연속적인 데이터의 흐름 으로 생각하면 좋을것 같습니다. 스트림은 어떻게 동작할까? 스트림은 다음과 같은 프로세스를 따른다 생성 (Create Stream) 스트림을 생성할 데이터 풀에서 스트림을 만드는과정이다 데이터풀은 Arraylist, set등 데이터 ..
❓ Problem 🤔 How 방을 생성하는 조건 방을 순회하여 입장할수 있는 적합 한 방이없을경우 현재플레이어를 방장으로하는 새로운 방을 만든다. 적합한 방의조건 현재 플레이어와 방장의 레벨차가 10 이하인 경우 방이 최대인원수보다 적은경우 갱신 여부를 체크하는 변수를 두어서 현재 플레이어가 입장했을경우 새로운 방을 생성하지않고 적합한 방이없는경우 새로운방을 생성하도록한다. ❗ Solve # 랭킹전 대기열 import sys input = sys.stdin.readline START = "Started!" WAIT = "Waiting!" def print_rooms(rooms): """ 방을 순회하며 출력 플레이어 인원은 닉네임이 사전순으로 앞서는 플레이어를 출력해야함 """ for room in roo..
이 글에서는 파이썬의 namespace 에 대해서 알아봅니다. 🥕 파이썬의 네임스페이스 정의 🤔 파이썬 공식문서에서는 namespace를 다음과 같의 정의되어 있습니다. [!NOTE] namespace The place where a variable is stored. Namespaces are implemented as dictionaries. There are the local, global and built-in namespaces as well as nested namespaces in objects (in methods). Namespaces support modularity by preventing naming conflicts. For instance, the functions builtin..
Java의 Lang 패키지 👀 이 글에서는 자바의 java.lang 패키지에 대해 알아봅니다. Java 를 사용할때 우리는 정의한 클래스를 사용하기위해 별도로 import 를 통해서 사용하게됩니다. 그렇지만 String, Integer 등 우리가 정의하지않았지만 자바에서 기본 적으로 제공되는 이 클래스는 어디서 왔을까요 ? Java 의 lang 패키지 우리가 따로 import 하지 않고 사용하는 기본 자료형 이라고 불리는 이는 java 의 lang 패키지에 정의 되어 있습니다. Java 공식 자료에는 다음과 같이 작성되어 있습니다. java doucment 의 lang java.lang : Provides classes that are fundamental to the design of the Java ..
람다 함수 알아보기 👀 이 글에서는 람다식, 또는 람다 함수라고 불리는 lambda Λ 에 대해 알아봅니다.✨ 람다(Λ) 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명함수(Annonymous functions)을 지칭하는 용어입니다. 프로그래밍 언어에 따라서 화살표함수(Javascript), 익명함수, 람다 등 다양한 용어로 사용됩니다. 람다식은 컴퓨터 과학분야에서 의 람다 대수 입니다. 람다 라는 표현은 막상 어렵게 다가오지만 함수를 단순하게 표현하는 방법이라고 생각하시면 됩니다. #python def func(): # 함수의 기본형태 print("hello world!") (lambda: print("Hello, world!"))# 위의 함수와 동일합니다. //java public class..