전체 글

읽기 쉬운 코드를 짜기 위해 노력합니다. 좋은 코드는 단순하고 이해하기 쉬워야 한다고 생각합니다.
· Git
git reflog git reflog는 Git의 명령어 중 하나로, 현재 저장소에서 발생한 모든 HEAD와 브랜치의 변경 이력을 보여주는 도구입니다. reflog는 reference log의 줄임말로, Git이 HEAD와 브랜치의 위치를 가리키는 포인터인 reference의 변경 이력을 기록합니다. 이는 다음과 같은 경우에 유용하게 사용될 수 있습니다:실수로 삭제한 브랜치 복구:브랜치를 삭제한 후에도 git reflog를 통해 삭제한 브랜치의 이전 위치를 확인하고 복구할 수 있습니다.리베이스나 변경 기록 확인:리베이스, 병합 등의 작업 중에 발생한 이벤트들을 확인하고, 필요한 경우 이전 상태로 되돌아갈 수 있습니다.실수로 되돌리거나 잘못된 작업 취소:git reset이나 git rebase와 같은 명령..
· Django/utils
데이터 작업을 하다보면 더미데이터가 필요 할 때가 있습니다그럴 때 편하게 작업하기 위해서 코드를 적어뒀습니다 더미 데이터 만들기1. Make image url dummy datapicsum.photo를 이용해서 무작위 image url을 만들어 주는 함수def make_random_url_use_picsum(): url = 'https://picsum.photos/200/300' # 이미지의 가로 200px, 세로 300px response = requests.get(url) if response.status_code == 200: random_image_url = response.url return random_image_url else: r..
문제  코드import sysinput = sys.stdin.readlinen = int(input().strip())matrices = []for _ in range(n): r, c = map(int, input().split()) matrices.append((r, c))dp = [[0] * n for _ in range(n)]for length in range(1, n): for i in range(n - length): j = i + length dp[i][j] = float('inf') for k in range(i, j): cost = dp[i][k] + dp[k + 1][j] + matrices[i][0] * matri..
진짜 어려웠다 이해하려고 3일동안 코드를 보았다 문제  코드def min_merge_cost(files): n = len(files) dp = [[0] * n for _ in range(n)] # dp[i][j]: i부터 j까지 파일을 합치는데 필요한 최소 비용 # 파일의 부분합 미리 계산 prefix_sum = [0] * (n + 1) for i in range(1, n + 1): prefix_sum[i] = prefix_sum[i - 1] + files[i - 1] # 대각선 길이 1부터 n-1까지 순회 for length in range(1, n): for i in range(n - length): j = i + l..
위 문제의 핵심을 절대값을 인덱스로 가지며 기존의 값을 가지고 있어야 한다는 점입니다. 문제  코드import sys, heapq as hqinput = sys.stdin.readlinen = int(input())ls = []for _ in range(n): num = int(input()) if num == 0: print(hq.heappop(ls)[1] if ls else 0) else: hq.heappush(ls, (abs(num), num))  설명heapq 모듈을 import 합니다절대값을 구해야 하기 때문에 튜플의 형태로 넣습니다그렇게 되면 기존의 값 (절댓값, 실제값)의 형태로 힙에 저장되게 됩니다 그 뒤 절대 값을 기준으로 정렬된 힙에 실제 값을 ..
https://www.acmicpc.net/problem/12015예전에 가장 긴 증가하는 부분 수열 문제를 풀었었는데 이번에는 다른 점이 메모리 부분이 다문제 코드import sysinput = sys.stdin.readlinen = int(input())cases = list(map(int, input().split()))lis = [0]for case in cases: if lis[-1]   설명이진 탐색을 사용하여 효율적으로 위치를 찾는게 목표입니다수열의 각 원소 case에 대해 lis 리스트에서 적절한 위치를 찾아 삽입하거나 대체하는 코드 입니다 큰 값은 단순 추가: 현재 수열의 값이 lis의 마지막 값보다 크면 lis에 그대로 추가합니다.작거나 같은 값은 대체: 그렇지 않으면 이진 탐색을..
def create_openapi_response(*args): ''' key, type, description, format_[optional] ''' properties = {} for arg in args: key, type_, description = arg[:3] format_ = arg[3] if len(arg) > 3 else None items = arg[4] if len(arg) > 4 else None prop = { 'type': type_, 'description': description } if format_: pr..
배경https://www.acmicpc.net/problem/10816   코드import sysinput = sys.stdin.readlineN = int(input())cards = sorted([*map(int, input().split())])M = int(input())candidate = [*map(int, input().split())]count = dict()for card in cards: if count.get(card, False): count[card] += 1 else: count[card] = 1def binarySearch(arr, target, start, end): if start > end: return 0 ..
두잇 두두
두두 DB