๐Ÿ’ก ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

๋ฌธ์ œ๋ฐฑ์ค€ 2805. ๋‚˜๋ฌด ์ž๋ฅด๊ธฐ  https://www.acmicpc.net/problem/2805 ์ฝ”๋“œn, m = map(int, input().split())forest = list(map(int, input().split()))s = 1e = max(forest)while s = mid: wood += tree - mid # ์—…? if wood >= m: s = mid + 1 # ๋‹ค์šด? else: e = mid - 1print(e)์™„์ „ ํƒ์ƒ‰์œผ๋กœ ๋ชจ๋“  H ๊ฐ’์„ ๋‹ค ํ™•์ธํ•˜๊ธฐ์—” ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚˜๋ฏ€๋กœ, ์ด๋ถ„ ํƒ์ƒ‰์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.H(์ ˆ๋‹จ๊ธฐ ๋†’์ด)๋ฅผ ์ด๋ถ„ ํƒ์ƒ‰ํ•˜๋ฉฐ, ํ˜„์žฌ ๋†’์ด๋กœ ๋‚˜๋ฌด๋ฅผ ์ž๋ฅด๋ฉด m๋งŒํผ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ํŒ๋‹จํ•œ๋‹ค.  ํ’€์ดn, m =..
๋ฌธ์ œ๋ฐฑ์ค€ 15654. N๊ณผ M(5)  https://www.acmicpc.net/problem/15654 ์ฝ”๋“œn, m = map(int, input().split())number = list(map(int, input().split()))number.sort()arr = []def recur(idx): if len(arr) == m: print(*arr) return for i in number: if i not in arr: arr.append(i) recur(idx+1) arr.pop()recur(1) ํ’€์ดn, m = map(int, input().split()) # n๊ฐœ์˜ ์ˆซ์ž ์ค‘ m๊ฐœ ๊ณ ๋ฅด..
๋ฌธ์ œ๋ฐฑ์ค€ 14501.ํ‡ด์‚ฌ https://www.acmicpc.net/problem/14501 ์ฝ”๋“œ (๋ฐ”ํ…€์—… DP)๋ฐ”ํ…€์—… ๋ฐฉ์‹์—์„œ๋Š” ๋’ค์—์„œ๋ถ€ํ„ฐ ์ ‘๊ทผํ•˜๋ฉฐ ์ตœ์ ์˜ ์ƒ๋‹ด ์Šค์ผ€์ค„์„ ๊ฒฐ์ •ํ•œ๋‹ค.N = int(input())table = [list(map(int,input().split())) for _ in range(N)]dp = [0 for _ in range(N+1)]for i in range(N)[::-1]: if i + table[i][0] > N: dp[i] = dp[i+1] else: # i๋ฒˆ์งธ ๋‚ ๋ถ€ํ„ฐ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ด์ต dp[i] = max(dp[i + table[i][0]] + table[i][1], dp[i + 1])print(dp[0]) ํ’€์ดfor ..
๋ฌธ์ œํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค N-Queenhttps://school.programmers.co.kr/learn/courses/30/lessons/12952' ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ์ฝ”๋“œdef solution(n): global answer v1 = [0 for _ in range(n)] # ์—ด v2 = [0 for _ in range(n * 2)] # ๋Œ€๊ฐ์„  ์ƒ๋ฐฉ v3 = [0 for _ in range(n * 2)] # ๋Œ€๊ฐ์„  ํ•˜๋ฐฉ answer = 0 def dfs(row): global answ..
๋ฌธ์ œํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์†Œ์ˆ˜์ฐพ๊ธฐhttps://school.programmers.co.kr/learn/courses/30/lessons/42839 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr  ์ฝ”๋“œimport itertoolsdef sosu(num): if num == 0 or num == 1: return False for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return False return Truedef solution(n): answe..
๋ฌธ์ œ๋ฐฑ์ค€  ๋‰ด์Šค ์ „ํ•˜๊ธฐ https://www.acmicpc.net/problem/1135 ์ฝ”๋“œn = int(input())parent_list = list(map(int, input().split()))child_list = [list() for _ in range(n)]for child in range(1, n) : parent = parent_list[child] child_list[parent].append(child)def dfs(node) : if not child_list[node] : return 0 result = list() for child in child_list[node] : result.append(dfs(child)) result.sort( reverse =..
๋ฌธ์ œ๋ฐฑ์ค€ 1927 ์ตœ์†Œ ํž™ https://www.acmicpc.net/problem/1927๋ฐฑ์ค€ 11279 ์ตœ๋Œ€ ํž™ https://www.acmicpc.net/problem/11279 ์ตœ์†Œ ํž™ ์ฒ˜์Œ ์ฝ”๋“œ (์‹œ๊ฐ„์ดˆ๊ณผ)๋ฐฐ์—ด์—์„œ min()์„ ์ด์šฉํ•˜์—ฌ ์ตœ์†Œ๊ฐ’์„ ์ฐพ์•˜๋‹ค.n = int(input())x = []for _ in range(n):    num = int(input())    if num == 0:        if x:            print(min(x))            x.remove(min(x))        else:            print(0)    else:        x.append(num) ์ตœ์†Œ ํž™ ์ฝ”๋“œimport sysimport heapqn = int(input()..
๋ฌธ์ œhttps://www.acmicpc.net/problem/14888 ์ฝ”๋“œn = int(input())num = list(map(int, input().split()))operation = list(map(int, input().split())) # +, -, *, /maxi = -1e9mini = 1e9def dfs(idx, result, plus, minus, multiply, divide): global maxi, mini if idx == n: maxi = max(result, maxi) mini = min(result, mini) return if plus > 0: dfs(idx + 1, result + num[idx], pl..
๋ฌธ์ œhttps://www.acmicpc.net/problem/1012 ์ฝ”๋“œfrom collections import dequeT = int(input())for _ in range(T): n, m, k = map(int, input().split()) # ๊ฐ€๋กœ, ์„ธ๋กœ, ๋ฐฐ์ถ”๊ฐœ์ˆ˜ field = [[0 for _ in range(n)] for _ in range(m)] visit = [[False for _ in range(n)] for _ in range(m)] answer = 0 # ๋ฐฐ์ถ” ์ง€๋„ ๊ทธ๋ฆฌ๊ธฐ for l in range(k): x, y = map(int, input().split()) field[y][x] = 1 for i in..
๋ฌธ์ œ๋ฆฟ์ฝ”๋“œ 1338. Reduce Array Size To The Halfhttps://leetcode.com/problems/reduce-array-size-to-the-half/description/ ์ฝ”๋“œclass Solution(object): def minSetSize(self, arr): answer = 0 count_num = {} for num in arr: if num not in count_num.keys(): count_num[num] = 1 else: count_num[num] += 1 values = sorted(list(..
๋ฌธ์ œ๋ฆฟ์ฝ”๋“œ 1845. Seat Reservation Managerhttps://leetcode.com/problems/seat-reservation-manager/  ์ฝ”๋“œimport heapqclass SeatManager: def __init__(self, n): self.can_reserve = list(range(1, n + 1)) heapq.heapify(self.can_reserve) def reserve(self): return heapq.heappop(self.can_reserve) def unreserve(self, seatNumber): heapq.heappush(self.can_reserve, seatNumber)..
๋ฌธ์ œ๋ฆฟ์ฝ”๋“œ 921. Minimum Add to Make Parentheses Valishttps://leetcode.com/problems/minimum-add-to-make-parentheses-valid/ ์ฝ”๋“œclass Solution(object): def minAddToMakeValid(self, s): s = deque(s) stack = [] item = s.popleft() stack.append(item) while s: item = s.popleft() if not stack: stack.append(item) else: ..