Coding Test/Python(20)
-
[Python] 프로그래머스 / level 4 / 무지의 먹방 라이브 / heapq / 그리디
https://school.programmers.co.kr/learn/courses/30/lessons/42891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(food_times, k): sec = 0 food_order = deque([idx, food] for idx, food in enumerate(food_times)) while food_order: current = food_order.popleft() if current[1]==0: food_order.append(..
2024.03.29 -
[Python] 프로그래머스 / level 2 / 알고리즘 고득점 Kit / 프로세스
https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(priorities, location): answer = 0 max_p = max(priorities) queue = deque([(i, p) for i, p in enumerate(priorities)]) while queue: q = queue.popleft() if queue and max_p > q[1]: queu..
2024.03.28 -
[알고리즘] 코딩테스트 알고리즘 문제 / 프로그래머스
https://github.com/gilbutITbook/080337?tab=readme-ov-file GitHub - gilbutITbook/080337 Contribute to gilbutITbook/080337 development by creating an account on GitHub. github.com 이 분이 프로그래머스에 알고리즘 고득점 Kit 이외에 문제에도 알고리즘 문제들 추가해 주셔서 공유합니다!
2024.03.22 -
[Python] 프로그래머스 / 알고리즘 고득점 Kit / hash 정리 / items()
https://youtu.be/zFL29ydL9D8?si=jZqGGUM1UbGhSCCk Hash를 써야하는 이유와 간단히 잘 설명해준 동영상! String을 기준으로 정보를 기록하고 관리하려면 단순배열을 사용할 수 없으니 hash를 활용해야 한다. 1. hash는 전화번호부와 같다. ex) "김철수" : 01012345678 2. 대부분 그 key가 string이다 3. put / get / getOrDefault -> 이 3가지 함수를 알면 hash 문제는 대부분 풀 수 있다고 함. 프로그래머스 hash 문제들 : https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스..
2024.03.20 -
[Python] 힙(heapq) 정리
https://youtu.be/AjFlp951nz0?si=K7SUuD9gkoN4fs8F 이 글은 '이것이 취업을 위한 코딩테스트다 with python'을 읽고 정리한 것입니다. 파이썬에는 힙(heapq) 기능을 위해 heapq 라이브러리를 제공한다. heapq는 다익스트라 최단 경로 알고리즘을 포함해 다양한 알고리즘에서 우선순위 큐 기능을 구현하고자 할 때 사용된다. 힙에 원소를 삽입할 때는 heapq.heappush() 메서드를 이용하고, 힙에서 가장 작은 원소를 꺼내고자 할 때는 heapq.heappop() 메서드를 이용한다. 힙 정렬 1. 오름차순 import heapq def heapsort(iterable): h = [] result = [] # 모든 원소를 차례대로 힙에 삽입 for valu..
2024.03.15 -
그리디(Greedy) 정리
'이것이 취업을 위한 코딩테스트다'를 읽고 정리한 내용입니다. 그리디(Greedy) : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이기에 문제에서 '가장 큰 순서대로', '가장 작은 순서대로'와 같이 힌트를 제공! 예제 3-1 거스름돈 '가장 큰 화폐 단위부터' 돈을 거슬러 주는 것 n = 1260 count = 0 # 큰 단위의 화폐부터 차례대로 확인 coin_types = [500,100,50,10] for coin in coin_types: count += n//coin # 해당 화폐로 거슬러 줄 수 있는 동전 세기 n %= coin print(count) 가지고 있는 동전 중에서 큰 단위가 항상 작은 단위의 배수이므로 작은 단위의 동전..
2024.03.12