일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- DP
- Python
- 이진탐색
- 그리디
- Markdown
- g1gc
- github
- 몬티홀
- 정수론
- 배열 돌리기1
- springboot
- 적정 스레드
- 빌더패턴
- BFS
- Greedy
- 백준
- 그래프탐색
- 프로세스
- 문제풀이
- GarbageCollector
- 면접복기
- GC
- 마크다운
- 회고
- 브루트포스
- 분할정복
- 그래프 탐색
- 구현
- Stack
- Today
- Total
목록프로그래밍 (40)
FeelingXD
❓ 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(..
❓ 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()..
❓ 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_..