힙 01 - 더맵게, 프로그래머스, 알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, 풀이과정, Leetcode, 릿코드, 코딩테스트, Tech interview, Heap, 힙
# Process # 1. Input scoville array and threshold K # 2. Make heap queue # 3. Iterate while all scoville is over K # 3.1. Check scoville (smallest one) # 3.1.1. If passed -> done. # 3.1.2. If not -> mix foods # 3.3. Count # 4. Return answer import heapq def solution(scoville, K): count = 0 # 2. heap_scoville = [] for value in scoville: heapq.heappush(heap_scoville, value) # 3. is_done = False wh..
스택/큐 04 - 기능개발, 프로그래머스, 알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, 풀이과정, Leetcode, 릿코드, 코딩테스트, Tech interview
# Process # 1. Input priorities, location # 2. Make location_tracker plate for the location index I need to know # 3. Iterate while remaining priorities # 3.1. Pop first index of priority from the queue # 3.2. Check if bigger priority is exist or not # 3.2.1. If so -> change the priorites queue and location tracking queue # 3.3. Check if it's poped permanently # 3.3.1. Count answer # 3.3.2. If t..
스택/큐 03 - 기능개발, 프로그래머스, 알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, 풀이과정, Leetcode, 릿코드, 코딩테스트, Tech interview
# Process # 1. Input progresses and speeds # 2. Iterate while progresses is empty # 2.1. Iterate all # 2.1.1. Add all speed of work # 2.2. Iterate from begin to the value less than 100 or the end # 2.2.1. Check if it's over 99 # 2.2.1.1. If so -> pop, and count # 2.2.1.2. If not -> end of iteration # 2.3. Append count to answer # 3. Return answer[] def solution(progresses, speeds): answer = [] w..
스택/큐 02 - 주식가격, 프로그래머스, 알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, 풀이과정, Leetcode, 릿코드, 코딩테스트, Tech interview
# Process (list) # 1. Input prices list # 2. Iterate i from begin to the end # 2.1. Iterate j from i to the end # 2.1.1. Check if [j] is smaller than [i] # 2.1.1.1. If so - it's done # 2.1.2. Count # 2.2. Add to answer_list # 3. Return answer_list # 스택을 따로 쓰진 않고 그냥 비스므리하게 구현함 def solution(prices): answer_list = [] for i in range(0, len(prices)): isDone = False count = 0 j = i while (j < len(pric..
스택/큐 01 - 다리를지나는트럭, 프로그래머스, 알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, 풀이과정, Leetcode, 릿코드, 코딩테스트, Tech interview
# Process (list) # 1. Input prices list # 2. Iterate i from begin to the end # 2.1. Iterate j from i to the end # 2.1.1. Check if [j] is smaller than [i] # 2.1.1.1. If so - it's done # 2.1.2. Count # 2.2. Add to answer_list # 3. Return answer_list # 왜 스택 문제인지? 봐야함. 굳이? def solution(prices): answer_list = [] for i in range(0, len(prices)): isDone = False count = 0 j = i while (j < len(prices) and..
해시 04 - 베스트앨범, 프로그래머스, 알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, 풀이과정, Leetcode, 릿코드, 코딩테스트, Tech interview
# 문제 설명이 불친절함 # Process # 1. Input genres and plays arrays # 2. 딕셔너리 만든다. # 2.1. 장르별로 총 플레이 횟수가 있는 딕셔너리 만든다. { str, int } # 2.2. 장르별 딕셔너리 안에, 노래별로 플레이횟수와 인덱스가 있는 딕셔너리 만든다. { str, [int, int] } # 3. 장르별 총 플레이 딕셔너리 플레이 수에 따라 내림차순으로 정렬 # 4. 정렬한 장르 이름을 키로 노래플레이횟수와 인덱스 리스트가 있는 딕셔너리를 반복한다. # 4.1. 노래별 플레이 횟수 + 인덱스 리스트를 노래별 플레이 횟수의 내림차순 기준으로 정렬한다. # 4.2. 정렬한 노래별플레이횟수 + 인덱스 리스트에서, 2개 이하로 뽑아내서 결과물 앨범에 넣는다...
해시 03 - 위장, 프로그래머스, 알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, 풀이과정, Leetcode, 릿코드, 코딩테스트, Tech interview
# Process # 1. Input clothes [[name, kind]...] # 2. Make dictionary {kind, count_clothes} # 3. Get sum of multiplication of (count_clothes + 1) # 4. Return (sum - 1) for subtract wearing nothing def solution(clothes): dictClothes = {} for i in range(0, len(clothes)): if clothes[i][1] in dictClothes: dictClothes[clothes[i][1]] += 1 else: dictClothes[clothes[i][1]] = 1 mul = 1 for value in dictClo..
해시 02 - 전화번호 목록, 프로그래머스, 알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, 풀이과정, Leetcode, 릿코드, 코딩테스트, Tech interview
# 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. # 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. # 구조대 : 119 # 박준영 : 97 674 223 # 지영석 : 11 9552 4421 # 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. # Process # 1. Input phone_book array # 2. Sort using length of elements # 3. Iterate from begin to..