전체 글 (125) 썸네일형 리스트형 20922 겹치는 건 싫어 www.acmicpc.net/problem/20922 20922번: 겹치는 건 싫어 홍대병에 걸린 도현이는 겹치는 것을 매우 싫어한다. 특히 수열에서 같은 원소가 여러 개 들어 있는 수열을 싫어한다. 도현이를 위해 같은 원소가 $K$개 이하로 들어 있는 최장 연속 부분 수열 www.acmicpc.net 투포인터라는 방법을 응용하면 쉽게 풀 수 있는 문제이다. 접근은 다음과 같다. 맵을 이용하여 중복을 체크한다. 1. 탐색의 처음 부분을 두 개의 포인터가 가리킨다. 2. 끝 부분의 포인터가 이동하면서 중복 개수가 K개를 초과하면, 시작 부분의 포인터를 다음으로 이동시키고 해당 값을 한 개 줄인다. 3. K개 이하가 될 때까지 2를 반복한다. 4. 배열의 길이 N까지 탐색을 마치면 종료한다. 고찰 : 놓쳤던.. 도커의 작동 원리 이론과 실습 이번에 정리할 내용은 다음과 같다. 도커 컨테이너 vs 가상머신 도커 컨테이너 vs 프로세스 가상머신 운영체제 위에 하드웨어를 에뮬레이션하고, 그 위에 운영체제를 올리고 프로세스를 실행함 도커 컨테이너 하드웨어 에뮬레이션 없이 리눅스 커널을 공유하여 바로 프로세스를 실행함 어떻게 다른지 실습을 통해서도 알아보자. 컨테이너는 호스트 시스템의 커널을 사용한다. 컨테이너는 이미지에 따라서 실행되는 환경 (파일 시스템)이 달라진다. 여기서 궁금한 점은 어떻게 이미지에 따라 파일 시스템을 다르게 할 수 있는가이다. 운영체제 지식이 조금 들어가게 되는데, 리눅스는 루트 디렉토리를 기준으로 하위 디렉토리들을 찾는다. 그런데 도커에서는 이미지를 루트 파일 시스템으로 강제로 인식시켜 프로세스를 실행시키기 때문에 파일 시.. Java Collection Java에는 List, Map, Set 인터페이스를 기준으로 여러 구현체가 존재한다. C++에도 이와 비슷하게 Standard Template Library가 존재하는데, 사용자가 구현하지 않고 미리 만들어둔 구현체를 사용하여 자료구조를 사용할 수 있도록 한다. 대표적으로 몇 가지 알아보자. List List인터페이스를 직접 @Override를 통해 사용자가 정의하여 사용할 수 있고, 대표적인 구현체로 ArrayList가 존재한다. 이외에 LinkedList 등의 구현체가 있다. Map 대표적인 구현체로 HashMap이 존재한다. 그런데 멀티스레드 환경에서 문제가 있기 때문에 이를 위해 ConCurrentHashMap이 있다. Set 대표적인 구현체로 HashSet이 존재한다. Value에 대해 중복된 .. 이전 1 ··· 19 20 21 22 23 24 25 ··· 42 다음