맞왜틀 기록하기 ~https://www.acmicpc.net/problem/17609투포인터 방식으로 풀 수 있다.처음부터 회문 통과면 0,그게 아니라면 하나씩 좁혀가며 왼쪽 끝을 제거한 결과와, 오른쪽 끝을 제거한 결과끼리 비교할 수 있다.둘 다 안 되는
https://www.acmicpc.net/problem/1495범위에 해당하면 큐에 집어넣어서 다음 레벨에서 연산할 수 있도록 한다.이때, visited 처리를 해야 메모리 초과없이(최악의 경우 2의 50제곱) 동작할 수 있다.첫번째 방식으로 풀고 알고리즘
https://www.acmicpc.net/problem/10942쿼리 개수 m이 최대 1,000,000기 때문에 그때그때 팰린드롬인지 확인하는 Brute force 방식으로는 해결할 수 없다.모든 부분 문자열에 대해 캐싱을 해두고 팰린드롬인지 확인하는 게 시
Mutex와 Semaphore의 가장 잘 알려진 차이점으로, n개의 스레드가 하나의 자원에 접근할 수 있는 방식이 Semaphore라고 생각했다. 물론 대표적인 차이점이긴 하지만, 찾아보니 뭔가 더 있어서 흥미로웠던,,👀✨"상호 배제"라는 맥락에서만 보면 이 말은 어
쉬운코드 님의 DBCP (DB connection pool)의 개념부터 설정 방법까지! hikariCP와 MySQL을 예제로 설명합니다을 보고 정리한 글 입니다.편의상 백엔드 애플리케이션 단은 BE로, 앞으로 설명할 Database Connection Pool은 DBC
https://school.programmers.co.kr/learn/courses/30/lessons/161988짝수번째 인덱스마다 -1을 곱한 수열 seq1과, 홀수번째 인덱스마다 -1을 곱한 수열 seq2의 연속 부분 수열 최대 합을 구하는 문제다.연속
바야흐로 몇개월 전부터 생긴 포비아가 있다.그건 바로 DP-포비아✨✨ (두둥.그런 의미에서 다시 정리해보는 DP의 개념과 실전 문제 적용 !이코테 DP를 학습하며 정리한 내용입니다."동적 계획법의 고안자인 벨만(Richard E. Bellman, 벨만-포드 알고리즘의
더 자바, 코드를 조작하는 다양한 방법를 듣고 정리한 글 입니다. (지금 생각하면 비효율적인데) 작년에는 이론에 치우쳐서 공부하는 면이 있었다. 올해 인프런 라이브를 듣고 나서는 내 방향성이 틀렸구나, 생각이 많이 바뀌었다. (꼭 보세요 !)최근 알게 된 다이나믹 프록
최근에 푼 두 문제의 아이디어가 유사해서 뽑아왔다. (둘 다 아이디어 일부 참고함) 몰랐는데 생각보다 스택으로 풀자고 바로 떠올리기 어렵다.. 더 많이 풀어보고 익숙해져야 할 듯 !https://school.programmers.co.kr/learn/cours
https://www.acmicpc.net/problem/2660가장 먼 연결 관계가 그 사람의 점수가 된다는 걸 알 수 있다."몇 사람을 통하면 모두가 서로 알 수 있다"는 조건이 있기 때문에, 아예 연결이 안되는 경우는 없으므로, 그 비용이 무한으로 나올
https://www.acmicpc.net/problem/17140문제에서 하라는대로 따라가면 되는 전형적인 시뮬레이션(구현) 문제다.단순하게 표현하면:이런 알고리즘인데, 어떻게 접근할지는 다들 어렵지 않게 생각할 거 같은데, 구현하면서 중간중간 막히는 게 있
https://www.acmicpc.net/problem/16929DFS로 사이클이 존재하는지 판별하는 문제다.처음에는 초기 위치를 넣어서 DFS 탐색을 시작했다가, 해당 위치와 꼭 만난다는 보장이 없다는 사실을 깨닫고 (..)방문한 목록에 있는지 확인하는 방
https://www.acmicpc.net/problem/13305최대한 작은 비용으로 갈 수 있는 만큼 가는 게 이득이다. min heap을 활용해서 (비용, 인덱스)를 담아서 그리디 하게 처리했다.비용 작은 것부터 하나씩 pop 하면서 last_index를
간만에 쓰는 비사이드 플젝 일지➿1\. 메소드 추출 한동안 우테코 프리코스에서 눈에 불을 켜고 메소드 10줄 이하를 지키며 코딩하다 보니 간만에 본 길다란 스크랩 코드에 경악하고(..) 메소드를 분리했다.스크랩하기/스크랩 취소 메소드인데, 특정 유저-컨텐츠 조합이 존재
최단경로 챕터에 있어서 사실 다익스트라나 플로이드 워셜을 의도한 것 같지만 내가 푼 방식이 더 마음에 든다.BFS + DP를 활용했다.문제는 (0, 0)에서 (n-1, n-1)로 가는 최단 비용을 물어보고 있다.단순 BFS로 접근하면 해당 위치의 비용을 고려하지 않고
https://school.programmers.co.kr/learn/courses/30/lessons/17679탐색해서 찾고 표시하고, 또 떨구고하면서 board를 너무 많이 건든다는 생각이 들어서 개인적으로 1, 3의 과정을 번거롭게 짰다는 생각이 듦소스
스프링 핵심 원리 - 고급편을 학습하며 정리한 내용입니다.접근 제어권한에 따른 접근 차단캐싱지연 로딩부가 기능 추가ex. 요청값/응답값 변경, 로깅둘 다 프록시를 사용하지만, 의도에 따라 구분된다.프록시 패턴 : 접근 제어가 목적데코레이터 패턴 : 새로운 기능 추가가
스프링 핵심 원리 - 고급편을 학습하며 정리한 내용입니다.핵심 기능보다 로그를 출력해야 하는 부가 기능 코드가 훨씬 더 많고 복잡하다. 핵심 로직 별 로그를 다는 보조 기능을 추가한 것 뿐인데, 배보다 배꼽이 커졌다!변하는 것과 변하지 않는 것을 분리하자변하는 것: 핵
https://school.programmers.co.kr/learn/courses/30/lessons/118667카카오 블로그를 참고해서 알고보니 그리디 방식이라는 충격적인 소식을 접하고 .. 😳그리디 방식으로 푸는데 이상하게 자꾸 시간초과가 걸렸다.각각의