반응형 알고리즘211 [알고리즘] Running Sum of 1d Array 포인트 누적해서 합을 구하는 문제입니다. (누적 합) 아이디어는 간단합니다. 기존 배열과 같은 크기의 0으로 초기화된 배열을 만들고 0번 인덱스 값을 초기화합니다. 그리고 현재 값과 이전 값들을 더하는 방식으로 누적 합을 계산하였습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python class Solution: def runningSum(self, nums: List[int]) -> List[int]: temp = [0] * len(nums) temp[0] = nums[0] for i in range(1, len(nums)): temp[i] = temp[i - 1] + nums[i] return temp 2021. 5. 3. [알고리즘] 괄호 변환 포인트 정말 주어진 그대로를 구현하는 문제였습니다. '반환' , '재귀' 이런 용어들이 구현하는데에 커다란 도움이 되었습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python def check(line: str) -> bool: stack = [] for ele in line: if not stack: stack.append(ele) elif stack and stack[-1] == '(' and ele == ')': stack.pop(-1) else: stack.append(ele) return len(stack) == 0 def go(target: str) -> str: if not target: return '' left, right = 0, 0 u, v = '', '' for .. 2021. 5. 2. [알고리즘] 오픈 채팅방 포인트 생각하는 방향으로 코드를 짤 수 있어서 상당히 간편하다. 점점 문제를 읽는 것이 힘들어진다. 독해 능력을 키워야겠다. 닉네임을 최신으로 유지하는 방법으로 해결하였습니다. 어차피 기록은 바뀐 닉네임으로 변경 될테니 닉네임만 최신으로 유지한다면 해결할 수 있는 문제입니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python def solution(records: list) -> list: answer = [] # 정답 display = [] # 채팅방 기록 데이터 nickname = {} # uid 마다 닉네임을 저장하는 딕셔너리 for record in records: line = record.split() if len(line) == 3: command, uid, nick = li.. 2021. 5. 2. [알고리즘] 멀리 뛰기 포인트 다이나믹 프로그래밍을 위한 문제임을 인지했습니다. 약간 너무 티가 난다고나 할까;;;; 1, 2 는 기본 케이스이면 이를 확장하면, 3을 만들기 위해서는 1, 2 가 필요합니다. 4를 만들기 위해서는 2, 3 이 필요합니다. 하지만 우리는 이미 2, 3 을 가지고 있습니다. 5를 만들기 위해서는 3, 4 가 필요합니다. 하지만 우리는 3과 4를 이미 구해왔습니다. 따라서 값을 바로 계산할 수 있습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python def solution(n: int) -> int: d = [-1] * 2001 d[1] = 1 d[2] = 2 for i in range(3, n + 1): d[i] = d[i - 1] % 1234567 + d[i - 2] % 1.. 2021. 5. 2. 이전 1 ··· 5 6 7 8 9 10 11 ··· 53 다음 반응형