💡 문제 해결 아이디어 - greedy하게 가장 큰 gcd를 가지는 페어를 찾아가는 방식은 최대값을 가진다는 보장을 할 수가 없다. - 추가적으로, 길이가 최대 7이므로 모든 경우의 수를 계산할만하다. - bitmask, 길이가 최대 7인 mask 리스트를 저장하지 않고, 하나의 int를 mask로 활용한다. (메모리 절약) - 연산자는 이진수를 한칸씩 밀거나 당기며 2배 혹은 1/2배 한다. - and와 &의 차이는 &는 bitwise로 작동한다는 점. - @lru_cache(None) 데코레이터: DP문제에서 함수가 반환하는 값을 memoization하도록 도와줄수 있다. 💻 작성된 코드 import math class Solution: def maxScore(self, nums: List[int])..
💡 문제 해결 아이디어 뒤의 숫자는, 연쇄적인 operation을 통해 얼마든지 앞으로 보내서 감소시킬 수 있다. 따라서 값을 앞으로 보내서 "최댓값을 줄일 수 있는가"가 관건일 것이다. 리스트를 돌면서 숫자를 만났을 때, 두가지 경우가 있다. 1. 해당값이 지금까지의 최댓값보다 작은 경우 -> 앞으로 값을 보내도 최댓값은 줄어들 수 없음. 2. 해당값이 지금까지의 최댓값보다 큰 경우 a. 앞으로 최대한 보냈음에도 지금까지의 최댓값보다 큰 경우 -> 최댓값 갱신 b. 앞으로 최대한 보냈더니 지금까지의 최댓값보다 같거나 작은 경우 -> 갱신 필요 없음 💻 작성된 코드 class Solution: def minimizeArrayValue(self, nums: List[int]) -> int: n = len(..
- Total
- Today
- Yesterday
- python
- 프로그래머스 아이템줍기
- Low Manifold Theory
- 프로그래머스 문자열 나누기
- 프로그래머스 햄버거 만들기
- BFS
- 연습문제
- 코테
- 그리디
- 프로그래머스
- 큐
- 문자열 나누기 파이썬
- stablediffusion
- 알고리즘
- 가장 가까운 글자 파이썬
- Stable Diffusion
- leetcode
- 스테이블디퓨전
- 프로그래머스 가장 가까운 글자
- 디펜스
- Attend and Excite
- heap
- 코딩테스트
- OpenAI
- 프로그래머스 연속된수의합
- 프로그래머스 파이썬
- 인공지능
- 파이썬
- ChatGPT
- heapq
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |