프로그래머스 67

[PYTHON][프로그래머스]디스크 컨트롤러_힙

https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 이 문제 어디선가 푼적이 있는것 같다. 뭔가 그리디 하면서 비슷한것을 본것같은데 못풀었다... 백준 회의실..? 이 문제를 푸는 방법은 그 기간에서 할 수 있는 작업 중 소요시간이 가장 짧은 것을 먼저 실행하면 된다. 그러기위해 heappush할 때 [1][0]으로 넣어주는 것을 기억해야한다. 왜냐하면 소요시간이 짧은 순으로 먼저 나와야하기 때문이다. 코드..

[python][프로그래머스]더 맵게_힙(heap)

https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 생각해야하는 것 : heapify를 통해 최소힙으로 만들어 준 후 해야한다. 정답 코드[블로그 참조] : import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) # scoville을 최소 힙화 한다 # 처음 주어질 때는 heap 순서가 아니므로 while scoville[..

[python][프로그래머스]주식가격_스택/큐

문제 : https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 답을 찾아본 코드 [deque이용] : from collections import deque def solution(prices): answer = [] d = deque(prices) while d : tmp = d.popleft(..

[python][프로그래머스] 다리를 지나는 트럭_스택/큐

https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 1. 다리의 길이만큼 리스트를 만든다. 2. 다리의 왼쪽이 빠진다. 3. 건널 트럭이 남았다면 3-1. if ( 트럭이 갈수있다면) #이미 다리에 있는 트럭과 새로 갈 트럭의 무게가 weight보다 작다면 트럭 리스트에서 빼서 다리 리스트에 넣는다. 3-2. else : # 갈수가 없다면..

[python][프로그래머스]프린터_스택/큐

이 문제는 이해하기 쉬운 문제이다. 어디서 많이 본 문제인데 혼자 못풀었다... 문제에 주어진 순서의 숫자가 언제 출력된가를 return하는 문제다. 주어진 순서를 어떻게 기억할 수 있을까 고민했는데 enumerate를 이용해 쌍으로 만드는 방법이었다. 이 코드가 참 파이써닉하다. 내가 스스로 만들어낼수있도록 친숙해지고싶다. 이 코드는 사실 d = deque for i, v in enumerate(priorities) : d.append([v,i]) 와 같이 3줄로 만들 수 있다. 하지만 d = deque ( [ ( v,i ) for i,v in enumerate(priorities) ] ) 이렇게 한줄로 만들 수 있다. 코드 : def solution(priorities, location): answe..

[python][프로그래머스]기능개발_[스택/큐]

프로그래머스의 고득점 kit 의 스택/큐의 첫번째 문제이다. 문제 : 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 문제를 이해하는 것도 꽤 시간이 걸렸다. 처음에는 정직하게 (바보같이) progress에서 speeds를..

[프로그래머스][join][mysql]없어진 기록찾기(left join ,right join)

https://programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr outs테이블에는 있는데 ins테이블에는 존재하지않는 튜플들을 찾는 문제이다. left join을 사용하면 select outs.animal_id, outs.name from animal_outs outs left join animal_ins ins o..

3-2/DB 2022.02.24