일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- deque
- 몬티홀
- GC
- 이진탐색
- 구현
- 프로세스
- Stack
- 정수론
- 스레드
- Python
- 면접복기
- 그리디
- Greedy
- g1gc
- Markdown
- 그래프탐색
- 브루트포스
- 회고
- 그래프 탐색
- github
- 배열 돌리기1
- DP
- 적정 스레드
- 마크다운
- BFS
- GarbageCollector
- 분할정복
- 백준
- 시뮬레이션
- 문제풀이
- Today
- Total
목록프로그래밍 (37)
FeelingXD
Java package-private 문득 Junit으로 테스트를 작성할때 다른 클래스를 작성할때처럼 메소드에 지정자 없이 테스트를 작성하고 있었는데 접근제어자를 지정하지 않았을때 어떤 접근제어자가 설정 될지 궁금해졌다. @Test void test(){ // 접근제어자가 없는 메서드나 클래스는 어떤 접근제어를 할까 🤔 //given //when //then } Java의 접근제어자 접근제어자는 객체 지향적 설계에서 클래스의 노출을 최소화 하는데 도움을 준다. 자바에서는 이러한 정보 은닉을 위해 접근 제어자를 사용한다. 클래스나 메서드 앞에 작성하여 접근제어자를 명시한다. class Main{ private void privateMethod(){ // private 접근 } public void publ..
❓ Problem 🤔 How 어떤경우에 포도주로 최고의 만족감을 얻을수 있을까 Greedy 하게 접근해보자. 😀 구현 로직 우선 탐욕법으로 접근하기위해 포도주가 순서대로 정렬되어있어야한다. 포도주 에서 마실수있는 최고의 포도주를 마신다. 남은 포도주 에서 최저의 만족감을 주는 포도주를 마신다. (이미 최고의 포도주를 마신 뒤이므로 효용은 0이다.) 2->3 을 반복한다. 🍷 최적해를 찾아 탐욕적으로 접근하기 포도주에서는 어떻게 작동할까 우선 포도주에서 마실수있는 최고 효용을 K 라고 했을때 첫잔에서 얻을수있는 최고만족감은 언제나 K이다. 그후 남은 포도주에서 마실수있는 최저의 효용을 얻는다. 이때 얻을수있는 만족 효용은 0이다. 남은 포도주중에서 최고 효용의 포도주를 마신다. 이때 얻을 수 있는 효용은 ..
STACK 대신 DEQUE를 사용하자 학부생 시절 Java 에서 Stack자료형 대신 Deque 를 사용해야 한다는 말을 듣고 사용해 왔는데 이글을 통해서 왜 Stack 자료형 대신 Deque를 사용해야하는지 작성합니다. Stack 과 Deque 일반적인 자료구조에서.. 일반적인 자료구조의 관점에서 Deque 와 Stack 은 다음과 같다. Stack 📚 [!NOTE] 대표적인 LIFO(Last in First Out) 자료구조로 늦게 입력된 자료가 먼저 나가는 자료구조이다. Deque 📚 [!NOTE] Queue 와 Stack 의 특징을 동시에 가지고 있는 Deque은 먼저 입력된 자료, 가장 늦은 자료 두가지 모두에 대해 접근할 수 있다. 왜 JAVA 에서는 Stack대신 Deque 를 사용 하라는 ..
❓ Problem 🤔 How ❗ Solve SELECT MEMBER_ID -- 아이디 ,MEMBER_NAME -- 이름 ,GENDER -- 성별 ,DATE_FORMAT(DATE_OF_BIRTH,'%Y-%m-%d') AS DATE_OF_BIRTH -- 생년월일 FROM MEMBER_PROFILE WHERE TLNO IS NOT NULL AND MONTH(DATE_OF_BIRTH)='03' AND GENDER = 'W' ORDER BY MEMBER_ID ASC
❓ Problem 🤔 How 이 ❗ Solve # 섬의 개수 import sys from collections import deque input = sys.stdin.readline moves = [(0, 1), (0, -1), (1, 0), (-1, 0), (-1, -1), (1, 1), (-1, 1), (1, -1)] SEA = 0 LAND = 1 CHECKED = 2 def draw_board(row) -> list: return [list(map(int, input().split())) for _ in range(row)] def search_island() -> int: cnt = 0 for y in range(len(board)): for x in range(len(board[0])): if ..
❓ Problem 🤔 How SQL 문제를 풀때마다 알고리즘 풀이문제보다 나름 신경써야할것이많다. 🚧 ORDER BY 정렬시 고려할것 TOTAL_DISTANCE는 CONCAT으로 문제에서요구하는 거리의 단위인 km 문자열이 붙어서 결국 문자열 형태가 되었다 이를 이용해서 정렬할 경우 숫자가 아닌 문자열 기준으로 정렬된다. 🚧 ROUND 어디서 반올림할것인가? 문제에서 총 누계거리는 2번째 자리에서 평균 역 사이 거리는 3번째 자리에서 반올림 한는것이 문제의 설명이다. 그럼 ROUND 함수의 두번째인자에는 무엇이 들어가야할까 ? ROUND 의 두번째 인자는 소숫점 몇째짜리 까지 표시할 것인지에대한 매개변수이다. 즉 문제에서 요구한 두 번째 자리에서 반올림 하시오 -> 소숫점 첫째 자리까지 남기시오 가된다...
❓ Problem 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 🤔 How DP 카테고리 문제지만 DP를 어떻게 적용해하는지몰라 다른분의 풀이를 참고하여 이해한 문제 (다음에 다시 풀어봐야겠다.) DP테이블의 접근은 숫자를 N번썻을때 어떤수를 만들수 있는가? 이다. 즉 DP[i] 일때 N 을 i 번사용해서 만들수..
TLDR; 스프링 부트 2.x 버전에서는 스프링 시큐리티 특정 URL 에대한 스프링 필터를 무시하기 위해 WebSecurityConfigurerAdapter 를 사용했다. 하지만 WebSecurityConfigurerAdapter 가 deprecate 되고 나서는 다음과 같이 사용한다. 기존 WebSecurityConfigurerAdapter 를 상속하는 방법은 다음과 같았다. @Configuration public class SecurityConfiguration extends WebSecurityConfigurerAdapter { @Override public void configure(WebSecurity web) { web.ignoring().antMatchers("/ignore1", "/igno..
자바 버전들( Java versions ) 이 글에서는 자바 특정 자바 버전 몇가지에 대해 다룹니다.(8,11,17) 왜 특정 버전에 대해서만 다루나요 ? JAVA 는 옛날언어 라는 프레임이 있지만 Java도 매년 여러가지 업데이트를 통해 JAVA 사용자들에게 더 좋은 서비스를 제공하고자 하고있습니다. 그중 몇가지 버전(8,11,17)은 LTS(LONG TERM SUPPORT)로 장기 지원 버전이기에 장기적으로 변화가 적고 지원기능에대해 장기적으로 업데이트, 개선 을 지원하기에 결정 하였습니다. JAVA 8 [!NOTE] JAVA 8 버전부터 기존의 딱딱하고 JAVA는 옛날 언어다 라는 프레임을 많이 개선한 버전이라고 생각됩니다. 😉 JAVA 8 의 대표적 특징들 ✨ 람다 표현식(Lambda Expres..
🤔 - 스프링 부트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 함수 해당함수는 압축하는 함수임과동시에 재귀적으로 호출..