From cb6910126646069f0b6d1e94d07da7bf3873734c Mon Sep 17 00:00:00 2001 From: Won Joon Thomas Choi <113500771+724thomas@users.noreply.github.com> Date: Thu, 20 Aug 2026 22:40:35 +0900 Subject: [PATCH 1/2] Create 3992. Rearrange String to Avoid Character Pair.py --- ...arrange String to Avoid Character Pair.py" | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 "leetcode3/\354\265\234\354\233\220\354\244\200/3992. Rearrange String to Avoid Character Pair.py" diff --git "a/leetcode3/\354\265\234\354\233\220\354\244\200/3992. Rearrange String to Avoid Character Pair.py" "b/leetcode3/\354\265\234\354\233\220\354\244\200/3992. Rearrange String to Avoid Character Pair.py" new file mode 100644 index 00000000..bdf21c5f --- /dev/null +++ "b/leetcode3/\354\265\234\354\233\220\354\244\200/3992. Rearrange String to Avoid Character Pair.py" @@ -0,0 +1,27 @@ +# + +''' +1. 아이디어 : + + +2. 시간복잡도 : + O() + +3. 자료구조/알고리즘 : + + +''' +class Solution: + def rearrangeString(self, s: str, x: str, y: str) -> str: + counter = Counter(s) + + ans = "" + if y in counter: + ans += y*counter[y] + if x in counter: + ans += x*counter[x] + for char, freq in counter.items(): + if char == x or char == y: + continue + ans += char * freq + return ans From 49abee49a2262b34c7153d18eb4ec7636adbf36b Mon Sep 17 00:00:00 2001 From: Won Joon Thomas Choi <113500771+724thomas@users.noreply.github.com> Date: Thu, 20 Aug 2026 22:41:13 +0900 Subject: [PATCH 2/2] Create 948. Bag of Tokens.py --- .../948. Bag of Tokens.py" | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 "leetcode3/\354\265\234\354\233\220\354\244\200/948. Bag of Tokens.py" diff --git "a/leetcode3/\354\265\234\354\233\220\354\244\200/948. Bag of Tokens.py" "b/leetcode3/\354\265\234\354\233\220\354\244\200/948. Bag of Tokens.py" new file mode 100644 index 00000000..4d4a353e --- /dev/null +++ "b/leetcode3/\354\265\234\354\233\220\354\244\200/948. Bag of Tokens.py" @@ -0,0 +1,40 @@ +# + +''' +1. 아이디어 : +더할때는 가장 큰것부터, 뺄때는 가장 작은것부터. + +2. 시간복잡도 : + O(nlogn) + +3. 자료구조/알고리즘 : +two pointer + +''' +class Solution: + def bagOfTokensScore(self, tokens: List[int], power: int) -> int: + n = len(tokens) + tokens.sort() + + left = 0 + right = n-1 + score = 0 + ans = 0 + + while left<=right: + if power>=tokens[left]: + power -= tokens[left] + left+=1 + score+=1 + ans = max(ans, score) + elif score>0: + power += tokens[right] + right-=1 + score-=1 + else: + break + return ans + + + +