728x90 프로그래머스46 [PG/Python] 디스크 컨트롤러 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 📌 문제 접근 방법 최소힙을 사용해서 풀이했다. jobs의 첫 번째 원소가 현재 시간보다 작거나 같다면 ready에 push해준다. 이 때, (소요 시간, 요청 시점) 순으로 튜플을 만들어서 ready가 소요 시간을 기준으로 최소값을 찾을 수 있도록 해준다. 만약 ready에 대기하고 있는 작업이 있다면 해당 작업의 소요 시간만큼 time을 늘리고.. 2021. 12. 26. [PG/Python] 피로도 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 📌 문제 접근 방법 던전의 개수가 8개 이하이므로 완전탐색을 사용해도 되겠다고 판단하였다. permutations를 사용하여 던전을 들어가는 순서의 조합을 모두 만든 후, 각각의 조합을 차례대로 순회하며 입장할 수 있는 던전의 개수를 세었다. 개수를 다 세고 answer를 최대값으로 갱신하고, 반복문이 끝난 뒤 answer에 저장된 값을 반환하였.. 2021. 12. 22. [PG/Python] 야근 지수 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/12927 코딩테스트 연습 - 야근 지수 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도 programmers.co.kr 📌 문제 접근 방법 works에 들어있는 일들의 작업량을 key로, 해당 작업량만큼의 작업 개수를 value로 딕셔너리를 만들어줬다. n만큼 반복문을 돌리면서 작업량이 가장 큰 작업부터 1씩 작업을 진행했다. 이 때, 해당 작업량을 가진 작업이 모두 작업을 진행했다면 해당 key를 삭제하고 가장 큰 작업량을 갱신한다. 또한 가장 큰 작업량.. 2021. 12. 22. [PG/Python] N으로 표현 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 📌 문제 접근 방법 N으로 표현할 수 있는 숫자의 경우의 수를 생각해줬다. 우선 N은 1~8번만 사용하면 되고 그 외의 경우에는 -1을 리턴해주기 때문에 answer는 -1로 초기화한다. 인덱스를 N 사용횟수와 맞춰주기 위해 all_cases의 0번째에 빈 set을 넣어줬다. temp라는 set에 N을 i번 사용하여 나온 숫자를 저장할 것이다. set을 사용한 이유는 연산의 결과로 똑같은 숫자가 여러 번 나올 수 있기 때문에 중복을 제거해주기 위해서이다. N이 5라고 했을 때, 1번만 사용하는 경우는 5 하나밖에 없다. 2번 사용하.. 2021. 12. 22. 이전 1 ··· 4 5 6 7 8 9 10 ··· 12 다음 728x90