일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 깊이우선탐색
- DP
- 백준알고리즘
- 완전탐색
- 너비 우선 탐색
- 자바스크립트
- 그리디 알고리즘
- 문자열
- 백준 알고리즘
- 오라클
- BFS
- 스택
- 구현
- oracle
- 프로그래머스
- Python
- 데이터베이스
- 너비우선탐색
- 다익스트라
- 파이썬
- DFS
- 그래프 이론
- 브루트포스
- 그래프 탐색
- 브루트포스 알고리즘
- SWEA
- javascript
- 다이나믹 프로그래밍
- 백트래킹
- SW Expert Academy
- Today
- Total
목록2024/09/24 (2)
민규의 흔적
2024년 9월 24일문제 링크 : 프로그래머스 - [PCCP 기출문제] 2번 / 퍼즐 게임 챌린지 문제 접근 현재 나의 숙련도에 따라 퍼즐을 푸는 시간이 달라진다. diffs의 각 요소는 최대 100000이므로, 나의 숙련도는 1 ~ 100,001일 것이다. 1 부터 100,001 까지 일일이 확인해보기엔 시간복잡도 측면에서 좋을 게 없다. (퍼즐의 개수 n의 최대 값은 300,000 이므로, 최악의 경우 100,001 * 300,000 ~= 10^10번 연산해야 한다.) 그러므로 우리는 효율적으로 숙련도의 최소값을 찾아야 한다. 어떻게? 이분 탐색으로! 내가 가질 수 있는 숙련도의 범위는 1 ~ 100,001 이므로 양 끝 값인 left, right는 각각 1, 100,001로 초기화 시켜준다. le..
2024년 9월 24일문제 링크 : 프로그래머스 - 과제 진행하기 문제 접근 주어진 데이터를 자신이 원하는 목적에 맞게 가공하여 활용할 수 있는지가 문제의 난이도를 좌우한다고 생각한다. 구현 문제는 문제에서 요구하는 바를 정확히 이해해야 한다. 1. plans의 요소들은 진행할 과제들에 대한 정보를 담고 있으며, 이는 [과제명, 과제 시작시간, 소요시간]으로 이루어져 있다. 2. 과제는 시작하기로 한 시각이 되면 시작한다. 3. 새로운 과제를 시작할 시간이 되었을 때, 기존에 진행하고 있던 과제가 있다면 해당 진행을 멈추고 새로운 과제를 시작한다. 4. 진행 중이던 과제를 끝냈을 때, 멈춰두었던 과제가 존재한다면 해당 과제를 이어서 진행한다. 멈춰둔 과제가 여러 개일 경우, 가장 최근에 멈춘 과제부터 시..