본문 바로가기

전체 글657

[Docker] <none> 태그 이미지 일괄 삭제 도커를 사용하고 있는데 태그(태그가 없음)인 이미지 많이 쌓여있다. 하나 하나 지우기에는 너무 많아서 태그가 없는 이미지를 선별해서 일괄적으로 삭제해보자. docker rmi $(docker images -f "dangling=true" -q) -f(--filter) 옵션으로 필터링을 걸어서 이미지를 검색한 뒤 그 결과를 위와 같이 rmi 명령어의 파라미터로 넣어준다. dangling 필터는 태그가 없는 경우만 필터링 해준다. 즉, dangling=true 는 태그가 없는 경우, dangling=false는 태그가 있는 경우. -q(--quiet) 옵션은 ID만 가져올 때 사용한다. 명령어를 실행하면 대부분의 태그를 가진 이미지들이 지워지는데 몇 가지 이미지들은 image is being used by .. 2019. 6. 11.
[algospot][PI] 원주율 외우기 문제 : https://algospot.com/judge/problem/read/PI DP 문제로 풀었다. dp[ind] = 문자열[ind~끝]으로 구할 수 있는 최소 난이도. = 최소값(문자열[ind~ind+len)의 난이도 + dp[ind+len]) (3 2019. 6. 8.
[algospot][JLIS] 합친 LIS 문제 : https://www.algospot.com/judge/problem/read/JLIS 배열 A, B의 인덱스(indA, indB)를 파라미터로 받는 재귀함수를 만든다. A[indA], B[indB] 는 증가 부분 수열에 반드시 포함된다고 가정한다. 따라서 A[indA], B[indB]의 최대 값보다 큰 배열 요소만이 증가 부분 수열에 추가 될 수 있다. int solve(indA, indB){ int maxNum = max(A[indA], B[indB]); for(nextInd = [indA + 1, N)){ if(maxNum < A[nextInd]) ans = max(ans, solve(nextInd, indB) + 1); } } 위 코드는 배열 A에 정답 배열에 들어갈 수 있는 다음 배열 .. 2019. 6. 7.
최장 감소 수열 (LDS), 최장 증가 수열 (LIS) 최장 감소 수열 (LDS: Longest Decreasing Sequence)과 최장 증가 수열(LIS: Longest Increasing Sequence)에 대해 알아보겠습니다. 저는 코드를 최장 감소 수열에 대해서 짰기 때문에 최장 감소 수열을 설명하겠습니다. 최장 증가 수열과 최장 감소 수열은 증가하느냐 감소하느냐의 차이 밖에 없으므로 코드를 짤 때도 부등호 하나의 차이밖에 나지 않으므로 LDS만 이해한다면 LIS 또한 이해할 수 있을 것입니다. 최장 감소 수열이란 가장 긴 감소하는 부분 수열을 말합니다. 예를 들어서 살펴보도록 하겠습니다. 위와 같이 30, 40, 5, 15, 10, 20인 수열이 존재한다면 이 수열에 대해서 최장 감소 수열은 40, 15, 10이 됩니다. 사실 코드를 어떻게 짜느.. 2019. 6. 7.
[algospot][WILDCARD] Wildcard 문제 : https://algospot.com/judge/problem/read/WILDCARD DP로 풀었다. dp[i][j] = pattern[i~끝] 부분문자열과 s[j~끝] 부분문자열이 같은가(같으면 1, 다르면 0, 아직 탐색 전이면 -1) 패턴문자열(pattern)과 패턴에 맞는지 확인하고자 하는 문자열(s)가 있다고 할 때 DP에 사용할 배열은 위와 같이 나타낼 수 있다. 패턴 문자열에 올 수 있는 문자는 '*', '?', 알파벳이다. 만약 알파벳이라면 pattern[i]와 s[j]가 같은지 체크하고 다르면 false를 반환, 같다면 i+1, j+1 부터 다시 탐색해간다. '?' 인 경우 s[j] 가 어떤 문자가 오던지 정답이 가능하므로 i+1, j+1 부터 다시 탐색해나간다. '*' 인 경.. 2019. 6. 3.
[C++] STL pair를 sort 함수로 내림차순 정렬하기 sort 함수를 알고리즘 문제를 풀다가 정렬할 때 마다 쓰는데 내림차순을 원하거나 second 값으로 오름차순을 하길 원할 때 compare 함수를 어떻게 짜야하는지 맨날 헷갈린다. ​그래서 포스팅해둠. sort 함수는 algorithm 헤더파일을 필요로 한다. sort(시작 주소, 종료 주소, [비교함수]) 비교함수는 생략이 가능하다. 생략시에는 오름차순으로 정렬된다. ​ sort 함수 compare 함수대신 greater(), less(int>() 들도 사용한다고 하는데 아직 한 번도 안 써봤다... 이 때, sort(&arr[0], &arr[N], compare); 이렇게 써주어도 된다. 정렬되는 범위가 시작 주소는 포함하고 종료 주소는 포함이 되지 않는다고 한다. 즉, 위 함수 정렬의 범위는 ar.. 2019. 5. 31.