자료구조48 [알고리즘] 백준 | 15810 풍선 공장 풍선 공장 이분탐색 문제 답: 더보기 from sys import stdin input = stdin.readline N, M = map(int, input().split()) #인원, 갯수 time = list(map(int, input().split())) start = 0 end = max(time) * M + 1 while start = M: end = mid - 1 result = mid # 무조건 큰거에다가 넣어야한다 = 결과가 M이상이므로 else: # balloon < M start = mid + 1 print(result) 문제 분석 및 해석 풍선을 담당하는 N명의 스태프 풍선만드는 속도는 다르다 M개의 풍선을 만들어 달라는 의뢰. 각 스태프가 풍선 하나를 만드는 시간(분) Ai를 알고 .. 2023. 9. 10. [알고리즘] 프로그래머스 | 구명보트 구명보트 탐욕법 Greedy 문제라고 적혀있다 답: 더보기 from collections import deque def solution(people, limit): count = 0 people.sort() deq = deque(people) while deq: weight = limit - (deq[0] + deq[-1]) if weight .. 2023. 9. 1. [알고리즘] 프로그래머스 | 짝지어 제거하기 (페어) 짝지어 제거하기 답: 더보기 def solution(s): stack = [] for i in s: print(stack) if not stack: stack.append(i) elif stack[-1] != i: stack.append(i) else: #stack[-1] == i인 경우 stack.pop() return 0 if stack else 1 문제 분석 및 해석 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다 이 과정을 반복해 문자열을 모두 제거한다면 1, 아닐 경우 0을 리턴 >> 풀이생각 짝지어 제거하기에서 올바른괄호가 생각났다 stack을 사용해서 푸는 문제구나! >> 페어 풀이 지도 받음 스택에 없으면 스택에 추가(신병 받아라~.. 2023. 8. 31. [알고리즘] 프로그래머스 | 올바른 괄호 올바른 괄호 답: 더보기 도움을 받아 풀이했다ㅠ def solution(s): stack = [] for iter_s in s: if iter_s == '(': # open stack.append(iter_s) elif iter_s == ')' and len(stack) > 0 and stack[-1] == '(': # close stack.pop() else: return False if len(stack) > 0: return False return True 문제 분석 및 해석 주어진 문자열 s에서 괄호가 ( )로 바르게 짝지어졌는지 확인하기 >> 풀이생각 스택을 이용하는 문제. 복잡하게 풀 필요 없이 open, close를 맞추고 짝이 맞지 않으면 스택을 쌓아두는 방식으로 풀이한다. 리뷰. 혼자 풀.. 2023. 8. 28.