https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net https://pasongsong.tistory.com/197 나의 풀이 점화식 피보나치와 비슷함 width = int(input()) cache = [0]*1001 cache[1] = 1 cache[2] = 2 for i in range(3, len(cache)): cache[i] = cache[i-1] + cache[i-2] print(cache[width]%10007) 코드 자체는 간결하나 점화식을 찾는데 힘이 듦
병목현상이 어디서 생기는지 알아보기 위해 알고리즘 실행시간 비교하기 위해 코드 실행 시간을 측정하려고 한다 time time.time() 1970년도 1월 1일 00:00:00시를 기준으로 현재까지 흐른 시간 (초 단위) import time start = time.time() time.sleep(1) sec = time.time()-start print('{:.5f}'.format(sec)) 1.01405 datetime sec를 00:00:00 형식으로 바꾸기 import time import datetime start = time.time() time.sleep(1) sec = time.time()-start times = str(datetime.timedelta(seconds = sec)) pri..
동적 계획법 (DP) 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 해결하고 그 결과를 저장하여 다시 큰 문제를 해결하는 알고리즘, 문제 해결 패러다임 상향식 접근법, 최하위 해답을 구하고 이를 이용하여 상위 문제를 풀어감 Memorization 기법 사용 프로그램 실행 시 이전 계산 값(작은 문제)을 저장하여 다시 계산하지 않도록 하여 전체 실행 속도를 빠르게 하는 기술임 큰 문제를 작은 문제로 쪼개서 답을 저장하고 재활용 하기에 '기억하며 풀기' 라고도 불림 ex) 피보나치 수열 재귀함수와 다른 점은 \((F_{2}\) 가 여러번 사용되는데 동적 계획법은 저장하여 다시 계산하지 않고 재귀함수는 하나하나 다 계산하여 시간이 오래 걸린다 \( O(n^{2}) \to O(f(n)) \) 분할 정복 큰 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 길이가 같은 서로 다른 배열의 곱의 합이 최소가 되게 하는 것 각 배열의 가장 작은 값이 가장 큰 값과 곱해져서 더해지는 것이 최소값이 될거라고 판단함 def solution(A,B): answer = 0 A.sort() B.sort(reverse=True) for a, b in zip(A, B): answer += a * b return answer 다른 사람의 풀이 아이디어는 같으나..
조합 list에서 조합을 구할 때 사용 permutations combinations product Permutations, Combinations 하나의 list에서 조합을 구하는 것 (1, 2) (2, 1) 이 있을 때 permutations는 다르다고 판단하여 두개를 같이 반환하고 combinations는 같다고 판단하여 (1, 2) 만 반환함 from itertools import product from itertools import permutations a = [1,2,3,4,5] # (1, 2), (2, 1)는 다른 것으로 치부 print(list(permutations(a, 2))) print(list(permutations(a, 3))) print('---------------------..
cuDNN 벡터 연산을 빠르게 도와주는 역할 https://developer.nvidia.com/rdp/cudnn-archive cuDNN Archive Download releases from the GPU-accelerated primitive library for deep neural networks. developer.nvidia.com 버전에 맞는 cuDNN 설치 https://dohyeon.tistory.com/14 [ubuntu] 18.04 CUDA, cuDNN 설치 이 글은 2021년 8월 9일 기준 작성되었습니다. 시간이 지나면 버전이 달라지면서 에러가 발생할 수 있습니다. 1. CUDA 설치 https://developer.nvidia.com/cuda-toolkit-archive CUD..
명령어 application 실행 단계 pull : 이미지 다운 RMI : 이미지 삭제 create : container에 image를 담는 것 image는 단독으로 사용 못하고 container에 담겨야 사용이 가능함 rm : container 삭제 start : container를 메모리에 올려서 application 실행 stop : container 중지 push : 이미지 registry에 저장(권한 필요) commit : container file을 다시 image로 만들어 주는 것