본문 바로가기
반응형

Algorithms119

[알고리즘] N진수 게임 포인트 1. 진법 변환을 잘할 수 있는가? 2. 프로그램 로직을 이해 할 수 있는가? #include #include using namespace std; char number[18] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; //16진수 진법 변환을 하는 법 string number_to_n(int num, int n){ // 진법변환은 이렇게 해보자 //num은 원하는 숫자 //n은 원하는 진법 string result; // string s = bitset (num).to_string(); // cout 2021. 5. 4.
[알고리즘] 문자열 압축 포인트 구현 문제를 풀었을 때, 그것만큼 또 희열이 있는 것이 몇 없을 것 같습니다. 하지만 틀리면 그냥 기분이 나쁩니다. 문제에서 주어줬듯이 문자열 압축을 고민하는 문제 입니다. (허프만 알고리즘이 떠오릅니다.) for loop 구간에서 len(s)//2+1 만 순회를 하여도 성립하는 이유는 그 이후를 돌면 어차리 원본 값이 나오기 때문에 할 필요성이 없어서 입니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python def add(cnt: int, before: str) -> str: return before if cnt == 1 else str(cnt) + before def check(s: str, unit: int) -> int: temp = '' before = s[:unit].. 2021. 5. 3.
[알고리즘] 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.
반응형