일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프 탐색
- 구현
- 마크다운
- Markdown
- 몬티홀
- 회고
- github
- 이진탐색
- g1gc
- DP
- 적정 스레드
- 분할정복
- Stack
- 프로세스
- springboot
- BFS
- Python
- 브루트포스
- deque
- 문제풀이
- GC
- 배열 돌리기1
- GarbageCollector
- 백준
- 그리디
- Greedy
- 면접복기
- 정수론
- 빌더패턴
- 그래프탐색
- Today
- Total
목록분류 전체보기 (68)
FeelingXD
❓ Problem 🤔 How A 리스트의 원소마다 이진탐색을 진행해서 피크인덱스를 찾아 B의 길이-피크인덱스(A리스트 원소 보다작은 최대 인덱스) 를 값에 합산해주는 방식으로 접근하였다. ❗ Solve # 먹을 것인가 먹힐 것인가 import sys input =sys.stdin.readline def action(): len_A,len_B=map(int,input().split()) list_A=list(map(int,input().split())) # A 리스트 list_B=sorted(list(map(int,input().split()))) # B 리스트 ans=0 for v in list_A: l=0 r=len_B-1 m_i=-1 # 기본값 초기화 while llist_B[0]: # 2진 탐색 m..
❓ Problem 🤔 How DP , 게임이론 문제 이다. DP 테이블에는 n번까지의 돌게임일때 승리하는 경우를 테이블에 저장한다. (1일경우 SK승리 0 일경우 CY 승리) 게임조건중 "완벽하게" 즉 최적의 방법으로 게임을 진행한다. 그럼 돌을 1,3,4 개 를 가져가는 경우이후는 다음은 CY(창영)만 다음돌 을 가져 갈 수있다. 이를 바탕으로 dp테이블의 1,3,4 개를 이전에서 가져오는경우를 제외하면 다음경우는 반드시 가져올 수 없다. ❗ Solve #돌 게임 3 import sys input =sys.stdin.readline def solution(): n=int(input()) dp=[1,1,0,1,1] for i in range(5,n+1): if (dp[i-4]+dp[i-3]+dp[i-1]..
❓ Problem 바로가기 🤔 How 목표지점(주어진 문자상 2인지점) 부터 이동 가능한 거리라면 거리 아닐경우 -1 로 표시한다. 원래 이동하지못하는경우라면 0을 표시하여 출력한다. 조건 1. 원래 이동할수 없는 지역일경우 0으로 표시해야한다. 2. 이동가능한 지역이지만 목표지점까지 도달하지못할경우 -1로 표시해야한다. 3. 그외 모든 이동가능한 좌표에대해서 목표지점부터까지의 거리를 표시한다 (맨해튼 거리) ❗ Solve # 쉬운 최단거리 import sys from collections import deque input =sys.stdin.readline moves=[(0,1),(0,-1),(1,0),(-1,0)] def find_target(board): # 좌표가 2인목표지점을 찾는함수 for y..
[백준 - 2293] 동전 1 ❓ Problem 🤔 How 기본적인 DP 문제중 하나이다. 입력받은 target이 되도록하는 방법의 갯수를 구해야한다. dp테이블을 어떻게 접근해야할까 . dp 테이블 접근하기 이 문제의 경우 각 액수에 맞게 가능한 방법으로 dp 테이블을 구성해주었다. dp[n] = n이 될수있는 조합의 방법수 점화식 dp[i]+=dp[i-coin] = i의 액수는 현재 사용할 코인이전의 방법가짓수에 이번 코인을 사용한것과 같다 즉 dp[i-coin] + coin 은 dp[i] 가 되므로 dp[i] 에는 현재 dp[i]에 dp[i-coin]를 더해줌으로서 방법을 추가한다. ❗ Solve # 동전 1 import sys input =sys.stdin.readline def solution(..
2023년에는 뭘했지? 🤔 연말이나 연초에는 항상 해당년도에는 나는 뭘할까 혹은 무엇을 했을까라는 생각이든다. 2023년을 돌아보며 나는 뭘했을까. 졸업 (2월) 4년간 대학생활을 마치고 완전히 졸업하니 무언가 홀가분하면서도 아쉬운 미묘한 감정이든다. 지금생각해보면 외부 활동(외부 연합동아리 등) 를 참여해봤으면 좋은경험이 되지않았을까 .. 라는 아쉬움이 들기도한다. 제로베이스 백엔드과정 부트캠프 수료 (1~6월) 제로베이스 Java ,Spring 백엔드과정을 수료했다. ✨ 관련학과를 졸업 했지만 현업에서 쓰는기술을 배우기위해 추가적으로 부트캠프 교육과정을 수료했다. 개인적으로 그중 제로베이스, 패스트 캠퍼스 쪽을 생각했는데 .교육과정 커리큘럼이 제로베이스쪽이더 마음에 들어서 (java, Spring 집..
❓ Problem 🤔 How M개에 블루레이를 모든 기타 강의 동영상을 녹화하기로 했다. 그리고 블루레이는 모두 같은 크기여야한다. 강의 순서가 변경되면안된다.(임의로 정렬할수없으며 연속으로 블루레이에 담도록해야한다.) 위의 이유로 단순 이진탐색에서 몇가지 조건이 추가된다. mid 값(블루레이) 으로 반환하되 임시 블루레이에 담을수있는 크기중 최소 의 값이 되도록 유지해야한다. 단! 이블루레이에는 1개의 영상만 들어갈수도있다. 난이도에비해 반례가 다양하니 신경쓰여하는 부분이 많은 문제이다. ❗ Solve import sys input =sys.stdin.readline def solution(): N,M=map(int,input().split()) li=list(map(int,input().split()..
무언가를 글로써서 블로그에 올리기 시작한지는 1년이 체되지않았다. velog를 통해 개인적으로 공부,경험 한것들을 작성해서 올리고 그수가 얼추 100개 가량 되었을때 나는 velog를 떠나길 결심했다. 🤔 왜 velog를 떠나셨나요? 내가 velog를 떠나게 된 원인들은 다음과 같다. 갑자기 서버상태가 메롱하다. tistory도 2023년에 몇일정도 접속이 안된 사태가있던걸 기억한다. velog는 갑자기 서비스가 안될정도는아니지만 글열람이 되지만 작성중인 임시글이 증발한다던가 자질구레한 서버문제가 있다. (이로인해서 작성하던글을 몇개 잃어버렷다.) 확장성 커스텀 스킨이라던지 블로그를 조금더 꾸며보고싶은 욕심이 생겼다. 니즈를 충족하기위해 tistory로 이사하고있다. 기타등등 자신의글에 블로거가아닌 ve..
❓ Problem 🤔 How 역순으로 dp테이블을 구성한다. 첫날부터 탐색할경우 일하는경우 하지않는경우 모두 탐색하기에 dp테이블로 일반화하기에는 어려움이있다. dp[i] 는 i 일부터의 최대값 으로 dp테이블을 만들어준다. dp 테이블의 갱신 테이블은 다음과같이 갱신된다 일을할수 있는경우 dp[i] =max(dp[i+d]+v,dp[i+1]) dp[i+d]+v 오늘일할경우 오늘일의 가치와 오늘일이 끝난이후의 최대값과 더해준 결과가 dp[i+1] 다음날 최대값과 비교해서 최대값을 갱신해준다. 일을 할수없는경우 다음날의 최대값 과 같다. dp[i]=dp[i+1] ❗ Solve #퇴사 import sys input = sys.stdin.readline if __name__ == "__main__": work_..