일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이진탐색
- 회고
- 마크다운
- 문제풀이
- 배열 돌리기1
- 몬티홀
- 프로세스
- 정수론
- 그래프탐색
- DP
- g1gc
- springboot
- 적정 스레드
- BFS
- 그래프 탐색
- 브루트포스
- 분할정복
- 구현
- 그리디
- github
- 면접복기
- Python
- Greedy
- deque
- 백준
- GC
- GarbageCollector
- Markdown
- 빌더패턴
- Stack
- Today
- Total
목록전체 글 (68)
FeelingXD
Python GC는 어떻게 동작하는가 파이썬 GC 에대한 글입니다. 파이썬 GC는 어떻게 동작 하는지에 대해 서술합니다. Python 의 GC 파이썬에서는 기본적으로 garbage_collection 이외에도 reference counting을 통해 할당된 메모리를 관리한다. 기본적으로 refernce counting은 각객체의 참조 횟수가 0이면 도달할수 없는객체로 판단하여 collecting을 한다. 하지만 참조횟수가 0은 아니지만 도달할수없는 경우의 문제도 있다. 이를 해결하기위해 Python 에서는 추가적으로 cyclic garbage collection 을 통한 가비지 컬렉션을 추가적으로 사용한다. 레퍼런스 카운팅 파이썬에서 다른객체가 객체를 참조할때 참조하는 객체의 레퍼런스 카운트를 증가시킵니..
Java 9 이후로 GC(Garbage Collector) 의 표준이 된 G1GC에 대해 작성하는 글 입니다. G1GC: Garbage 1(first) Garbage Collector G1GC 는 이름에서 알수 있듯 가바지 수집이 최우선이 되는 가비지 컬렉터입니다. Java9 부터 Java 진영의 표준 GC 모델이 되었으며 다읍과 같은 특징이 있습니다. 쓰레기로 가득찬 heap 영역을 집중적으로 수집 큰메모리를 가진 멀티 프로세서 시스템에 사용하기 위해 개발된 GC이다. G1GC는 일시정지시간(STW)을 최소하 하면서, 가능한 처리량도 확보하는것이 G1GC의 목표이다. G1 은 통계를 계산해가면서 GC 작업량을 조절한다. 다음 상황일때 G1GC를 사용하는데 도움이됩니다. HEAP의 50% 이상 라이브 데..
❓ Problem 🤔 How N = 스크린에 대한 몰로코의 입찰가 와 , 현재 최고 입찰가 의 갯수가 주어진다. K = 입찰받아야하는 최소 스크린 수 N 개의 줄에 몰로코의 입찰가 , 현재 최고 입찰가가 순으로 주어진다. diff_fee 를 기록한다. 해당 리스트는 입찰가 차이(현재 입찰 최고가-입찰가)를 모아서 보관 한다. diff_fee 를 정렬하면 입찰가 차이가 낮은순서로 정렬되고 diff_fee 의 K번째 원소(입찰가 차이의 K번째 원소)까지 구매할 수 있어야한다. 최소입찰 금액이 음수일 수 없으니 max(0, diff_fee[K-1]) 로 최소가격은 0으로 출력해 주어야 한다. ❗ Solve # 모바일 광고 입찰 import sys input =sys.stdin.readline def solut..
깃허브 마크다운에서는 마크다운 외 추가적인 기능들을 지원한다 이글에서는 깃허브 마크다운의 특별한 인용구들에 대해 설명한다. > \[!NOTE\] > Highlights information that users should take into account, even when skimming. > \[!TIP\] > Optional information to help a user be more successful. > \[!IMPORTANT\] > Crucial information necessary for users to succeed. > \[!WARNING\] > Critical content demanding immediate user attention due to potential risks. > ..
메서드, 함수를 사용 할때 매개변수 와 전달인자(Parameter and Argument) 혼용해서 사용합니다. 이들의 차이에 대해 작성합니다. 뭐가 다르지 ?.🤔 파이선 뿐만 아니라 자바의 메서드 에서도 간혹 위의 두개를 혼용해서 사용하는 경우가있는데 구분하는 것은 다음과 같습니다. 예제코드와 함께 알아봅시다. def my_function(name,age): # 파라미터 print(f'{name} 의 나이는 {age} 입니다.') my_function('김철수',20) # 아규먼트 위의 예제에서 my_function(name,age) 에서 name, age 부분을 Parameter(파라미터, 매개변수) 라고 부를수있다. 즉 위의 함수에서는 name, age 이 매개 '..
❓ Problem 🤔 How 슈퍼소수 는 소수로 이루어진 집합을 나열했을때 소수번째인 소수들을 '슈퍼 소수' 라고 표현한다 예를들어 소수가 f(n) = [2,3,5, .. .. ] 있을때 슈퍼소수는 f'(n)=[3,5 ...] 즉 슈퍼소수는 f(f(n)) 임을 알 수 있다. 소수집합을 아리스토 테네스체 알고리즘을 통해 얻고 그중 소수번째인 소수 친구들을 모아준다. 입력값에대한 소수를 반환한다. ❗ Solve # 슈퍼 소수 import sys input =sys.stdin.readline def aristo_stick(): global aristo aristo = [False,False] + [True]*(318137-1) for i in range(2,318137): if arist..
❓ Problem 🤔 How 설명 요약 크기가 같은 두 큐가 주어지고 각 큐의 원소의 총합이 같도록 각큐는 poll 과 append 를한다. 문제에는 언급되지 않았지만 원소의 총합이 같을때 각 큐의 크기가 같을 필요는 없다. '큐의 원소의 총합' 하도록하는 최소 횟수를 반환하여야한다. 큐의 크기가 되어야하는값을 설정해야한다. 각 큐의합이 같아야하므로 (큐1 과 큐2 의 원소의 총합)/2(큐의 갯수) 가 목표치(target) 이 된다. 큐1과 큐2 중 하나를 기준삼아 현재 원소의 총합과 target과 비교를통해 다음행동을 한다. 합이 target과 같은경우 : 이경우는 현재 까지 한 행동 횟수를 반환한다. 합이 target보다 작은경우 : 이경우 반대큐에서 값을 하나 가져온다. 합이 target보다 클경우..
마크다운 가이드 🎨 이 글에서는 마크다운 문법에대해 설명합니다. 이글은 github markdown style 기반으로 작성 되어 있습니다. markdown을 이용하는 서비스에 따라 아래 문법이 지원되지 않을 수 있습니다. 해당 글은 github에도 개시 되어있습니다! github에서 어떻게 적용되는지 확인하시려면 github 에서 읽는걸 추천드립니다. ✔ 깃허브에서 보기! 마크다운 시작하기 👍 마크다운을 시작하는데 별도의 프로그램이 필요하지 않습니다. 메모장, 웹 어디서든 가능 하니까요! 하지만 VSC 같은 IDE 하면 작성된 마크다운을 미리볼수 있답니다. 마크다운 문법 헤더 제목 과 부제 This is title ============ (1개 이상 입력시 적용됨) This is subtitle ---..
❓ Problem 자두는 자두를 좋아한다. 그래서 집에 자두나무를 심어두고, 여기서 열리는 자두를 먹고는 한다. 하지만 자두는 키가 작아서 자두를 따먹지는 못하고, 자두가 떨어질 때까지 기다린 다음에 떨어지는 자두를 받아서 먹고는 한다. 자두를 잡을 때에는 자두가 허공에 있을 때 잡아야 하는데, 이는 자두가 말랑말랑하여 바닥에 떨어지면 못 먹을 정도로 뭉개지기 때문이다. 매 초마다, 두 개의 나무 중 하나의 나무에서 열매가 떨어지게 된다. 만약 열매가 떨어지는 순간, 자두가 그 나무의 아래에 서 있으면 자두는 그 열매를 받아먹을 수 있다. 두 개의 나무는 그다지 멀리 떨어져 있지 않기 때문에, 자두는 하나의 나무 아래에 서 있다가 다른 나무 아래로 빠르게(1초보다 훨씬 짧은 시간에) 움직일 수 있다. 하..
이 글에서는 마크다운이 무엇인지 간단하게 알아봅니다. 😦 마크업 언어 와 마크다운 마크다운(markdown) 대해 알아보기전 마크업(markup) 언어 에대해 알아보자 명칭 때문에 반대되는 개념으로 오해할수 도있지만 엄밀히말하면 마크다운은 마크업언어에 포함된다. 마크업 언어란? (What is Mark-up Languege) 마크업 언어(markup 言語, markup language)는 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어의 한 가지이다. 태그는 원래 텍스트와는 별도로 원고의 교정부호와 주석을 표현하기 위한 것이었으나 용도가 점차 확장되어 문서의 구조를 표현하는 역할을 하게 되었다. 이러한 태그 방법의 체계를 마크업 언어라 한다. - 위키피디아 즉, 마크업 언어란 데이터 구조를 표기..
❓ Problem 🤔 How 답이될수 있는 경우 👀 1. 현재 보고있는채널(100) 에서부터시작해서 +/- 버튼으로만 목표 채널까지 이동하는 경우 2. 버튼을 사용해서 특정 채널로 변경한후애 +/- 버튼을 추가로 사용해 목표 채널까지 이동하는 경우 (2가지 : 위로가는 경우와 아래로가는 경우)접근방법 답이 될수있는경우 [1]번 으로 정답값을 초기화해준다. 그후 목표 채널로부터 위/ 아래로 값을 탐색해 고장난 버튼을 사용하지 않고 이동할수있는 최초의 수를 찾아서 원래 가고자한 목표채널과의 차이를 더해주고. 답이 최소값이 될경우 갱신한다. 현재 구하고자하는것은 버튼누르는 횟수이므로 처음 채널이동시 누르는 버튼횟수도 생각하여야한다. ex) 7751 채널로 이동시 버튼을 4번누른다. ❗ Solve # 리모컨 i..
❓ Problem 🤔 How 구현, 시뮬레이션 문제이다 체스판에서 킹의 움직임을 생각 해보자. 움직임 조건에 따라 고려 해야 할 것 킹은 상하좌우 대각 모든방향을 1칸움직일 수 있으며 이동할 위치에 폰이 있을경우 같은 방향으로 밀면서 이동해야한다. 킹이 움직일수 없는 입력이 나올경우 해당 명령은 건너뛴다. 킹이 폰을 밀면서 움직일때 밀린 폰이 이동할수없는경우(보드 밖으로 나가버리는 경우) 이경우 또한 킹이 이동할수없다. 입력 조건에 따라 고려 해야 할 것 입력이 체스 위치표시로 정해진다. 좌표값 으로 주어지는것이아니므로 적절하게 변환해 주어야 한다. 필자는 행을 y로 열을 x로 두고. 입력에따라 적절히 변화 하는 코드를 작성했다. ❗ Solve # 킹 import sys input =sys.stdin.r..