분류 전체보기 54

LeetCode 278 (Easy) First Bad Version

출처: leetcode.com/problems/first-bad-version/ First Bad Version - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 한글 번역은 아래 더보기를 클릭해주세요. 더보기 당신은 새 서비스를 개발하기 위해 팀을 리딩하고 있는 프로젝트 매니저이다. 안타깝게도, 서비스의 최신 버전이 품질 검사를 통과하지 못했다. 각각의 버전은 이전 버전을 기반으로 개발되기 때문에, 문제가 된 버전 이후의 모든 버전은 품질 검사를 통과하지..

이진탐색 알고리즘

출처: 이것이 코딩 테스트다 with Python 26강 이진 탐색 개요 https://www.youtube.com/watch?v=-Gx0T92-7h8&list=PLVsNizTWUw7H9\_of5YCB0FmsSc-K44y81&index=27 이진탐색이란? 정렬되어 있는 리스트에서 탐색범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 시간복잡도: log2(n) 이진탐색 수도코드 이진탐색 예 - 원하는 값이 없는 경우 시작점 = 0 끝점 = list.length - 1 while(끝점 찾는값) { 끝점 = 중간점 - 1 } else { 시작점 = 중간점 ..

7. 도커 이미지

도커 이미지와 도커 허브 도커 이미지는 클라우드 저장소에 저장되어 있다. 도커의 기본 클라우드 저장소는 도커 허브이다. 도커 이미지명에 저장소를 명시하지 않으면 도커 엔진은 도커 허브에서 도커 이미지를 찾는다. 도커 이미지는 도커 허브 웹사이트에서도 찾을 수 있고, 도커 엔진이 설치된 터미널에 docker search를 입력하여 찾을 수도 있다. > docker search ubuntu # docker search docker.io/ubuntu NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating sys… 11889 [OK] dorowu/ubuntu-desktop-lxde-vnc Docker ima..

인프라 2021.03.03

LeetCode 392 (Easy) Is Subsequence

출처: https://leetcode.com/problems/is-subsequence/ 문제 한글 번역은 아래 더보기를 클릭해주세요. 더보기 문자열 s와 t가 주어졌을 때, s가 t의 부분문자열인지 구하여라. 어떤 문자열의 부분문자열이란, 어떤 문자열 내 문자들의 상대적인 순서 변경없이 일부를 삭제하여(삭제하지 않을 수도 있음) 얻을 수 있는 문자열을 말한다. (예, ace는 abcde의 부문문자열이다. aec는 abcde의 부분문자열이 아니다) 예제1: 입력: s="abc", t="ahbgdc" 출력: true 예제2: 입력: s="axc", t="ahbgdc" 출력: false 제약조건: 0 < s.length < 100 0 < t.length < 10^4 s와 t는 영문소문자로만 구성되어 있다 풀..

LeetCode 1710 (Easy) Maximum Units on a Truck

출처: leetcode.com/problems/maximum-units-on-a-truck/ Maximum Units on a Truck - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 한글 번역은 아래 더보기를 클릭해주세요. 더보기 한 대의 트럭에 정해진 갯수의 박스만 실을 수 있다. boxTypes[i] = [numberOfBoxes(i), numberOfUnitsPerBox(i)]인 이차원 배열 boxTypes이 주어질 때: numberOfBoxes..

LeetCode 122 (Easy) Best Time to Buy and Sell Stock II

출처: leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/ Best Time to Buy and Sell Stock II - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 한글 번역은 아래 더보기를 클릭해주세요. 더보기 배열 prices의 i번째 엘리먼트의 값은 day i의 주가를 의미한다. 이 때, 얻을 수 있는 최고 수익을 구하여라. 원하는 대로 트랜잭션을 진행 수 있다. (예, 주식 1주를 매수하여 ..

4. 도커 네트워킹

도커 네트워크 구조 도커는 호스트의 docker0브리지를 통해 외부와 통신할 수 있음 컨테이너의 eth0 인터페이스는 호스트의 veth...라는 인터페이스와 연결됐으며 veth 인터페이스는 docker0 브리지와 바인딩됨 참고 도커는 컨테이너에 내부 IP를 순차적으로 할당하며, 이 IP는 컨테이너를 재시작할 때마다 변경될 수 있음 내부 IP는 도커가 설치된 호스트, 즉 내부 망에서만 쓸 수 있는 IP이므로 외부와 연결될 필요가 있음 도커 네트워크 드라이버 docker0 브리지를 통해 네트워크를 구성할 수도 있지만, 도커는 네트워크를 구성하는 다양한 방법을 제공함 도커가 제공하는 대표적인 네트워크 드라이버는 브리지(bridge), 호스트(host), 논(none), 컨테이너(container), 오버레이(..

인프라 2021.03.02

3. 도커 볼륨

도커 볼륨 사용 이유 도커 컨테이너 삭제 시, 컨테이너의 데이터(예, 데이터베이스 등)는 컨테이너 삭제 시 삭제됨 컨테이너 삭제 후에도 컨테이너의 데이터를 남기고 싶다면 볼륨을 사용하면 됨 도커 볼륨 사용 방법 호스트와 볼륨을 공유 볼륨 컨테이너 활용 도커가 관리하는 볼륨 생성 호스트와 볼륨을 공유 호스트의 디렉터리를 컨테이너 디렉터리에 마운트 $ docker run -d \ --name wordpressdb_hostvolume \ -e MYSQL_ROOT_PASSWORD=password \ -e MYSQL_DATABASE=wordpress \ -v /home/wordpress_db:/var/lib/mysql \ -v /home/hello:/hello mysql:5.7 $ ls /home/wordpres..

인프라 2021.03.02

2. 도커 기본 명령어

도커 이미지와 도커 컨테이너 도커 이미지를 실행하여 도커 컨테이너(이하 컨테이너)를 만든다. 컨테이너의 볼륨, 네트워크는 격리되어 호스트에 영향을 끼치지 않는다. 도커 기본 명령어 도커 버전 확인 $ docker -v Docker version 18.09.2, build 6247962 컨테이너 실행 run $ docker run -i -t ubuntu:14.04 # 우분투 이미지로 우분투 컨테이너를 만들어 실행 docker pull(저장소에서 이미지 pull) + create(이미지로부터 컨테이너 생성) + start(컨테이너 시작) + attach(컨테이너 내부로 이동) -i, -t: 컨테이너와 상호입출력을 가능하게 함 $ docker run -d \ --name wordpressdb \ -e MYSQ..

인프라 2021.03.02

그리디 알고리즘

출처: - 이것이 취업을 위한 코딩테스트다 with Python - https://youtu.be/5OYlS2QQMPA 그리디 알고리즘 현재 상황에서 지금 당장 좋은 것만 고르는 방식 지금 당장 좋은 것만 골라도 최적해가 나올 수 있는 문제를 풀 때 적합 전체 경우의 수를 고려해서 최적해를 구해야하는 문제를 풀 때는 부적합 그리디 알고리즘이 부적합 문제 문제: 루트 노드부터 시작하여 거쳐가는 노드의 합을 최대로 만들고자 할 때, 최대의 값은 무엇인가? 최적해는 21 (5 -> 7 -> 9) 인 데, 그리디 알고리즘을 적용하면 19 (5 -> 10 -> 4)가 나와 최적해를 구할 수 없음 지금 당장 좋은 것을 골라도, 다음 단계에서 역전 가능성이 있으므로 그리디 알고리즘에는 부적합 최적해: 21 (5 ->..