programmers
-
[프로그래머스] 광물 캐기 LV2Python/Programmers 2024. 2. 7. 14:32
문제) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘) 1. 총 곡갱이 수와 광물을 5개씩 분할(b_split 함수) #추가적으로 총 곡갱이 수로 수확가능한 광물까지 가지치기 2. 수확 가능범위 안에 있는 광물등급 갯수 확인 3. 내림차순으로 피로도가 가장 요구되는 구역을 다이아 -> 철 -> 돌 곡갱이 순으로 캐기 4. 총 피로도 누적합 출력 코드) def solution(picks, minerals): result = 0 total_p = sum(picks) bowl = b_split(minerals, total_p) bill = [] for..
-
[프로그래머스] 숫자 카드 나누기 LV2Python/Programmers 2023. 8. 8. 22:46
문제) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘) 1. 각 리스트의 최대 공약수를 구하기(math.gcd 함수) 2. 각각 구한 최대 공약수로 서로의 숫자카드를 나눠 조건에 해당하는지 판단 3. 조건에 만족시 가장 큰 수 max 출력 그 외 0 출력 * 유클리디안 알고리즘(최대 공약수 구하기) - 두 수 U, V가 있을 때 (U > V) 최대 공약수 구하기 - U - V와 V의 최대 공약수는 동일하며 해당 과정을 통해 U와 0이 될 때 최대공약수는 U가 된다. 1. U < V 라면 두수 U, V를 바꾼다. 2. U = U - V 3. U가 ..
-
[프로그래머스] 호텔 대실 LV2Python/Programmers 2023. 2. 19. 20:42
문제) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘) -그리디 알고리즘 코드) from heapq import heappop, heappush def solution(book_time): temp = [] cnt = 0 chk_list = [(int(s[:2])*60 + int(s[3:]), int(e[:2])*60 + int(e[3:])) for s,e in book_time] chk_list.sort() for s,e in chk_list: if not(temp): cnt += 1 heappush(temp, e) continue if tem..