일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- print sep
- 코딩부트캠프후기
- 백준
- 주니어개발자멘토링
- cp949
- 항해플러스
- 10430번
- 코딩테스트
- 개발자사이드프로젝트
- 99일지
- fatal:not a git repository
- 파이썬 클래스
- 파이썬 sep
- 파이썬
- 99클럽 #99일지 #코딩테스트 #개발자스터디 #항해 #til
- MomentumParameters
- 99클럽
- 파이썬 int()
- 개발자스터디
- not a git repository
- Til
- 항해99
- Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
- 주니어개발자역량강화
- 항해
- EnvCommandError
- print("""
- vscode cp949
- 파이썬 |
- 파이썬 map 함수
- Today
- Total
목록전체 글 (104)
선발대
Leetcode: 1338. Reduce Array Size to The Half (링크) class Solution: def minSetSize(self, arr: List[int]) -> int: arr_length= len(arr) target = len(arr) // 2 cnt = 0 counter_arr = collections.Counter(arr) frequency = sorted(counter_arr.values()) while arr_length > target: arr_length -= frequency.pop() cnt += 1 return cnt참고한..
6월의 막바지에 정말 오래간만인 WIL을 쓰게 되었다. 사실 아날로그 기록을 더 선호해서 인강 정리할 때 빼고는 블로그에 잘 안 왔었다.그런데 최근에 코테 챌린지 하면서 블로그에 매일 글을 쓰게 되었고,다시 블로그 관리에 불이 붙었다. (✿◠‿◠) 🔥 그런 의미에서 정리해 보는 근황 😁 팀 프로젝트 (2024.04~ 진행 중)예전에 같은 프로젝트 팀원이었던 백엔드 개발자 한 분과 함께 공부하고 서비스를 하나 만들기로 했다.주 5일 동안 같은 시간에 gather로 만나서 자신이 진행한 작업과 진도, 앞으로의 일정을 공유했다.상용화된 서비스를 참고해서 만들었는데 내 파트의 UI 비중이 생각보다 높아서 매일 새로운 지식 +1이었다.그래서 이제 JS, CSS가 두렵지 않다. 😙 어떻게 구현하는지 몰라도..
Leetcode: 1845. Seat Reservation Manager (링크) 문제 설명힙 자료구조를 사용할 수 있는지 확인하는 간단한 문제다.처음에 문제를 잘못 이해해서 output으로 배열을 출력해야 하는 줄 알고, 왜 정답 처리가 안되는지 잠깐 헤맸었다. 근데 다시 읽어보니 그냥 reverse, unreverse 함수에서만 return 값을 설정해 주면 된다. 풀이 설명파이썬 heapq 라이브러리의 사용법을 알고 있다면 쉽게 풀 수 있다. (import heapq)heapq.heappush(heap, item) : heap에 item을 추가함heapq.heappop(heap) : heap의 가장 작은 원소를 pop한 뒤 리턴함. 빈 값이라면 IndexError 호출됨. heapq.heapif..
Leetcode: 921. Minimum Add to Make Parentheses Valid (링크) 문제설명문자열 s가 주어졌을 때 완벽히 합이 맞는 괄호 쌍이 되려면 여닫는 괄호를 몇 개 추가해야 하는지 찾는 문제이다.간단히 말하자면 짝이 없는 괄호의 개수를 구하면 된다.예1) 입력값: s = "())" / 출력값: (()) 여는 괄호 1개가 더 필요하므로 1 출력예2) 입력값: s = "(((" / 출력값: ((())) 닫는 괄호 3개가 더 필요하므로 3 출력 풀이 설명(1) 빈 리스트 ans를 정의한다.(2) 입력값 s를 for문으로 하나씩 돌면서 '(' 인 경우에는 ans.append를, ')'인 경우에는 ans.pop을 해준다.(3) 다만 일반적인 괄호쌍 문제에서는 보통 스택에 '('를 넣..
Leetcode: 2390. Removing Stars From a String (링크) 문제 설명문자열에 *가 있다면 *의 바로 앞 문자를 삭제해서 출력하는 문제이다.예1) 입력값: s = "leet**cod*e" / 출력값: "lecoe" (et, d 삭제됨)예2) 입력값: s = "erase*****" / 출력값: "" (erase 삭제됨) 풀이 설명(1) 정답 문자열을 담을 빈 리스트 ans을 정의한다.(2) 입력값 문자열 s를 for문으로 돌면서 *가 나오는 경우와 아닌 경우를 설정한다.(3) *이 나오는 경우: ans의 마지막 문자열을 pop으로 제거한다.(4) *이 나오지 않는 경우: ans에 해당 문자열을 append로 추가한다.(5) ans 리스트를 join으로 문자열로 변경해서 반환..
Leetcode: 341. Flatten Nested List Iterator (링크) # """# This is the interface that allows for creating nested lists.# You should not implement it, or speculate about its implementation# """#class NestedInteger:# def isInteger(self) -> bool:# """# @return True if this NestedInteger holds a single integer, rather than a nested list.# """## def getInteger(self) -> int:# ..
Leetcode: 1823. Find the Winner of the Circular Game (링크) class Solution: def findTheWinner(self, n: int, k: int) -> int: q = deque([x + 1 for x in range(n)]) while len(q) > 1: c = k - 1 while c: q.append(q.popleft()) c -= 1 q.popleft() return q[0]참고한 풀이: https://leetcode.com/problems/find-the-winner-of-the-..
Leetcode: 869. Reordered Power of 2 (링크) class Solution: def reorderedPowerOf2(self, n: int) -> bool: num = sorted(str(n)) for i in range(32): current_num = sorted(str(2**i)) if num == current_num: return True return False참고한 블로그: https://leetcode.com/problems/reordered-power-of-2/solutions/2482867/python-simple-python-solution-using-..
Leetcode: 347. Top K Frequent Elements (링크) class Solution: def topKFrequent(self, nums: List[int], k: int) -> List[int]: ans = [] hash = defaultdict(int) for i in nums: hash[i] += 1 hash = sorted(hash.items(), key=lambda x: -x[1]) for num in hash[:k]: ans.append(num[0]) return ans
Leetcode: 451. Sort Characters By Frequency (링크) class Solution: def frequencySort(self, s: str) -> str: ans = '' hash = defaultdict(int) for i in s: hash[i] += 1 hash = sorted(hash.items(), key=lambda x: -x[1]) for i in hash: ans += i[0] * int(i[1]) return ans
Leetcode: 1529. Minimum Suffix Flips (링크) class Solution: def minFlips(self, target: str) -> int: cnt = 0 last = '0' for i in target: if last != i: cnt += 1 last = i return cnt
Leetcode: 1286. Iterator for Combination (링크) class CombinationIterator: def __init__(self, characters: str, combinationLength: int): self.combos = [] self.idx = 0 def helper(string, idx): if len(string) == combinationLength: self.combos.append(string) return else: for i in range(idx, len(characters)): ..
Leetcode: 1282. Group the People Given the Group Size They Belong To (링크) class Solution: def groupThePeople(self, groupSizes: List[int]) -> List[List[int]]: res = [] hm = defaultdict(list) for person, groupSize in enumerate(groupSizes): if groupSize in hm and len(hm[groupSize]) == groupSize: res.append(hm[groupSize]) hm[groupS..
Leetcode: 2433. Find The Original Array of Prefix Xor (링크) Leetcode 문제를 읽고 이해가 잘 되지 않아서 다른 분의 풀이를 참고했다. class Solution: def findArray(self, pref: List[int]) -> List[int]: size = len(pref) result = [0 for _ in range(size)] result[0] = pref[0] value = result[0] for i in range(1, size): result[i] = value ^ pref[i] value ^= result[i] ..
LeetCode: 1476. Subrectangle Queries (링크) class SubrectangleQueries: def __init__(self, rectangle: List[List[int]]): self.rectangle = rectangle def updateSubrectangle(self, row1: int, col1: int, row2: int, col2: int, newValue: int) -> None: for row in range(row1, row2+1): for col in range(col1, col2+1): self.rectangle[row][col] = newValue def getValue(sel..