일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- semanage
- centos pyhon 설치
- selinux port 등록
- c3 second
- 1697
- 백준
- c3 축 가리기
- snmp
- 정규식 문자열 출력
- python popen
- linux시간으로 변경
- influxdb 설치
- c3 step graph
- c++ 정규식
- c3 초
- regex_search
- CentOS7
- gcc regex
- python os
- telegraf
- InfluxDB
- g++ 업데이트
- 정규식 컴파일
- grafana dashboard
- 정규식 활용
- subporcess path
- snmp test
- c3 축 없애기
- python subprocess
- gcc 업데이트
- Today
- Total
목록전체 글 (560)
리셋 되지 말자
GenericForeignKey, ContentType 필요성 RDB에서 하나의 attribute가 여러 형태의 테이블을 참조하고 싶을 때가 있다 참고자료 https://leffept.tistory.com/358 https://django.cowhite.com/blog/where-should-we-use-content-types-and-generic-relations-in-django
https://neo-blog.tistory.com/12 KVM nested virualization 가상머신에서도 VT-D를 활성화 시키기 위한 중첩가상화.. 모듈에서 netsted 활성화 시키기 # vi /etc/modprobe.d/kvm-nested.conf options kvm_intel nested=1 options kvm_intel enable_shadow_vmcs=1 options.. neo-blog.tistory.com 감사합니다

[백준 1003] 피보나치 함수 - 다이나믹(dp) 코드 def solution(arr): # 첫번째 원소는 0 출력 횟수, 두번째 원소는 1 출력 횟수 fibo =[ [1, 0], [0, 1] ] # 2~40까지 0과 1을 출력하는 횟수를 저장([i] = [i-2 + i-1]) for i in range(2, 41): first = fibo[i-2][0]+fibo[i-1][0] second = fibo[i-2][1]+fibo[i-1][1] fibo.append([first, second]) # 입력된 각 숫자마다 0과 1을 출력하는 횟수를 출력 for idx in arr: print(fibo[idx][0], fibo[idx][1]) n = int(input()) arr = [] for _ in rang..
정렬 시 비교 함수 사용 lambda 사용 functools의 cmp_to_key 사용 lambda arr = [1, 3, 5, 2, 4] # 오름차순으로 정렬 # [1, 2, 3, 4, 5] arr.sort(key=lambda x: x) print(arr) # 내림차순으로 정렬 # [5, 4, 3, 2, 1] arr.sort(key=lambda x: -x) print(arr) arr2 = [ [1, 9], [2, 3], [2, 4], [2, 5], [3, 1] ] # 첫 번째 원소로 오름차순, 두 번째 원소로 오름차순 # [[1, 9], [2, 3], [2, 4], [2, 5], [3, 1]] arr2.sort(key=lambda x: (x[0], x[1])) print(arr2) # 첫 번째 원소로 ..

도커 이미지 크기와 실제 file system 에서의 크기 df vs du linux에서 남은 용량을 확인하기 위해 du나 df명령어를 사용할 수 있다. 이때, 위에처럼서로 남은 용량의 크기가 다르다. 이는 df와 du가 디스크 용량을 계산하는 방식이 다르기 때문이라고 한다. 각자 방식은 아래와 같다. (출처) df : 파일시스템의 디스크 블럭들을 조회 du : 파일트리를 따라 이동하면서 stat()라는 시스템 호출을 이용하여 얻은 각각의 디렉토리, 심링크 및 파일에 할당된 블럭의 수를 더하여 계산 도커 이미지 다운로드 및 용량 변화 체크 python:3.8 이미지를 다운받고, 용량 변화를 체크한다. 다운받은 이미지의 크기가 885MB 라고 표시된다. df는 5981에서 6896으로 915MB가 증가했다..
접근 만들어야 하는 높이는 각 좌표의 높이의 사이에 있는 높이일 것이다 (최소높이 ~ 최고높이) 각 높이를 만들 때, 채워야하는 좌표가 있고 깍아야하는 좌표가 있다. 깍으면 블록 개수가 늘어나므로, 이를 잘 고려하여 각 높이를 만들 때 필요한 시간을 계산한다. 필요한 시간이 같은 높이가 여러개라면, 한번에 깍을 수 있다 코드 from collections import Counter def solution(arr, b): # 쌓여있는 블록들의 최소 높이부터 최대 높이 까지의 범위를 저장 heights = [ i for i in range(min(arr), max(arr)+1)] # 높이가 같은 블록의 개수를 Counter를 사용해 저장 cd = Counter(arr) # 걸리는 시간과 높이 저장 time_..
코드 def solution(arr): # stack에 차례대로 넣을 수 배열 nums = [i for i in range(1, len(arr)+1)] # nums의 index nums_idx = 0 stack = [] # push, pop 연산 순서 저장 cals = [] # flag가 True이면 NO 출력 flag = False # pop을 해야하는 타겟 숫자를 차례대로 순회 for target in arr: while True: # stack이 비어있거나, stack의 맨 위가 target과 다르면 nums를 append if len(stack) == 0 or stack[-1] != target: # target을 pop할 수 없으면, flag를 True로 변경한 뒤 break로 반복문 탈출 if..
코드 from collections import deque def solution(b, arr): # target인 작업 index b에 대한 타겟 여부를 1(타겟) 변경 arr[b][1] = 1 dq = deque(arr) cnt = 1 while len(dq) != 0: # 맨 앞에 있는 작업이 중요도가 제일 높으면 if dq[0][0] == max(dq)[0]: # 중요도가 제일 높은데 타겟이면 cnt 출력 후 종료 if dq[0][1] == 1: print(cnt) break # 중요도가 제일 높은데 타겟이 아니면 작업 pop, cnt 증가 dq.popleft() cnt += 1 # 중요도가 제일 높은 작업이 아니면, 작업을 뒤로 넘김 else: dq.append(dq[0]) dq.popleft(..