프로그래머스114 [C++/PGS] Lv.3 : 디스크 컨트롤러 (Heap/priority_queue) https://school.programmers.co.kr/learn/courses/30/lessons/42627# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3.SJF 스케줄링 기법을 구현하는 문제이다!생각보다 까다롭고, 힙 정렬 커스텀 관련한 문법을 알고 있어야 해서 약간 어려웠다 우선순위에 따라서 자동 정렬이 되어야하는데, 그래서 처음에는 정렬이 가능한 Map으로 풀다가시간이 될때마다 가능한 작업을 삽입해주는 형식이 맞다는 걸 깨달아서 Queue로 바꾸었다. 우선순위 큐를 사용해서, 해당 시간이 될 때마다 데이터를 삽입하고 기준에 맞게 정렬해야 한다!데이터 크기나 시간 값에 대.. 2025. 4. 17. [C++/PGS] Lv.4 : 호텔 방 배정 (재귀) https://school.programmers.co.kr/learn/courses/30/lessons/64063 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 4. 정답률 35%재귀 사용 문제!! 1. 효율성 실패 (78.8/100)테스트케이스는 다 맞았는데, 효용성은 0점 ㅋㅋ아마도 아래 부분이 문제였을 것이다. while(rooms.find(n) != rooms.end()){ n++;} 빈 방을 찾을때까지 while문을 돌렸는데, 이 부분을 최적화해야 통과할 것 같다.다음 빈 방을 효율적으로 저장할 수 있는 방법이 뭐가 있을까고민해봐도 모르겠어서 질문 게시판에서 힌트를 얻었다.. 2025. 4. 16. [C++/PGS] Lv.3 : 양과 늑대 (DFS) https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3.꽤나 까다로웠던 문제 👿탐색 시 조건이 있으므로, dfs 백트래킹을 적용한다.근데 백트래킹은.. 안해도 된다 (단방향 그래프이고, 방문 체크가 없음) DFS에 현재 인덱스, 양의 수, 늑대의 수, 그리고 현재 위치에서 갈 수 있는 다음 노드 목록을 전달하면연결된 다음 노드를 방문하고조건에 맞지 않으면 재귀를 중단하고 반환한다. bfs로 푸는 방법도 있던데, 그건 아래의 링크를 참고하면 될 듯하다.너비우선 탐색으로 풀 때는 .. 2025. 4. 15. [C++/PGS] Lv.3 : 연속 펄스 부분 수열의 합 (DP) https://school.programmers.co.kr/learn/courses/30/lessons/161988 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3.cpp 배열 선언도 까먹어버려서 .. 큰일났다 ㅋㅋ다시 다 공부해야지 이 문제는 dp로 풀어야하는데, 아이디어 떠올리기기ㅏ 조금 힘들었다펄스 배열과 연속 부분수열을 보고 sliding window로 풀어야하나? 싶었는데풀다 보니 left를 옮길 조건이 없어서 이게 아닌가보다 싶었다.그래서 DP로 최댓값을 저장하면서 풀었다! 일차원 배열을 두개 쓰려다가, 더 효율적인 코드를 위해 이차원 배열로 바꾸었다.dp[][0] -> 펄.. 2025. 4. 15. [C++/PGS] Lv.3 : 징검다리 건너기 https://school.programmers.co.kr/learn/courses/30/lessons/64062?language=cpp 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3.문제를 읽으면서 풀이 방법을 고민해봤는데, 뭔가 범위가 너무 커서 슬라이딩 윈도우나 이분탐색으로 푸는 것 같았다.그리고 예상이 맞았다!확실히 문제를 많이 풀수록 이제 어떻게 접근해야할지 눈에 보이는 것 같다. 🔥 중요 포인트1. 구해야 하는 값이 'k개 범위의 최댓값'의 최솟값이라는 사실을 깨닫기2. 그 값을 구하기 위해서, 각 범위의 최댓값을 보존하면서 윈도우를 움직여야 함.3. 그걸 위해서, De.. 2025. 4. 14. [Javascript/PGS] Lv.2 : 연속 부분 수열 합의 개수 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2.누적합, 투포인터...?와 중복제거 Set을 사용하면 간단함주의할 점은 원형 수열이기 때문에, 배열 2개를 붙여놓고 써야 한다. 나의 풀이function solution(elements) { var answer = 0; let aSet = new Set(); let left = 0; let right = 0; let len = elements.length; for(let i=0; i 2025. 4. 14. 이전 1 2 3 4 ··· 19 다음 728x90 반응형