오늘 할 일: 끝내주게 숨쉬기
[4주차 정렬, DP] 코드 리뷰
OLD/Coding Study 2020. 3. 16. 16:08

1. Lv 1 - 예산(소팅) def solution(d, budget): total = 0 cnt = 0 d = sorted(d) for request in d: total += request if total >> list(zip([1, 2, 3], [4, 5, 6])) [(1, 4), (2, 5), (3, 6)] 4. Lv 2 - 가장 큰 수 from functools import cmp_to_key def solution(numbers): numbers = list(map(str, numbers)) func = lambda x, y: int(x + y) - int(y + x) numbers = sorted(numbers, key = cmp_to_key(func), reverse = True) ans..

[3주차 탐색] 코드 리뷰
OLD/Coding Study 2020. 3. 4. 14:00

탐색 1. Lv1 - 세 소수의 합 def solution(n): num = set(range(2, n + 1)) for i in range(2, n + 1): if i in num: num -= set(range(2 * i, n + 1, i)) num = list(num) answer = 0 for i in range(len(num)): for j in range(i + 1, len(num)): if (n - num[i] - num[j]) in num[j + 1:]: answer += 1 return answer 에라토스테네스의 체 : 시간복잡도는 O(NloglogN), N = 입력으로 주어진 n 소수 구하기 : 시간복잡도는 O(M**3), M = 소수의 개수 num 대신 prime_numbers, p..

[2주차 해시, 스택] 코드 리뷰
OLD/Coding Study 2020. 2. 28. 09:30

해시 1. Lv 2 - 나머지 한 점 import collections def solution(v): coord = {'x': [i[0] for i in v], 'y': [j[1] for j in v]} answer = [] for value in coord: my_counter = collections.Counter(coord[value]) my_counter = sorted(my_counter.items(), key=lambda x: x[1]) answer.append(my_counter[0][0]) return answer 딕셔너리 자료구조는 for key, value in coord.items() 또는 for axis, coordinates in coord.items()와 같이 표기하기 2. Lv..

[1주차 큐, 힙] 코드 리뷰
OLD/Coding Study 2020. 2. 23. 16:37

1. 큐 Lv 2 - 최대 용량이 정해진 FIFO 큐 클래스 class MyStack(object): def __init__(self): self.lst = list() def push(self, x): self.lst.append(x) def pop(self): return self.lst.pop() def size(self): return len(self.lst) class MyQueue(object): def __init__(self, max_size): self.stack1 = MyStack() self.stack2 = MyStack() self.max_size = max_size def qsize(self): return self.stack1.size() + self.stack2.size() d..

[0주차 모의고사] 스킬 트리
OLD/Coding Study 2020. 2. 18. 22:03

파이썬을 좀 더 파이썬 코드같이 작성하거나 내장 함수를 더 잘 쓰는 방법을 고민하기 다른 사람의 코드를 많이 읽어 보기 def solution(skill, skill_trees): answer = 0 idx = [] for i in skill_trees: for j in skill: if i.find(j) > -1: idx.append(i.find(j)) else: idx.append(30) if idx == sorted(idx): answer += 1 idx = [] return answer skill = "CBD" skill_trees = ["BACDE", "CBADF", "AECB", "BDA"] solution(skill, skill_trees) 코드 리뷰 line 3 idx를 for문 안의 첫 ..

반응형