728x90 분류 전체보기502 [이것이 코딩 테스트다] 7. 최단 경로 알고리즘 www.youtube.com/watch?v=acqm9mM1P6o&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=7 다익스트라 최단 경로 알고리즘 최단 경로 문제 최단 경로 알고리즘은 가장 짧은 경로를 찾는 알고리즘을 의미함 다양한 문제 상황 한 지점에서 다른 한 지점까지의 최단 경로 한 지점에서 다른 모든 지점까지의 최단 경로 모든 지점에서 다른 모든 지점까지의 최단 경로 각 지점은 그래프에서 노드로 표현 지점 간 연결된 도로는 그래프에서 간선으로 표현 다익스트라 최단 경로 알고리즘 개요 특정한 노드에서 출발하여 다른 모든 노드로 가는 최단 경로를 계산한다 다익스트라 최단 경로 알고리즘은 음의 간선이 없을 때 정상적으로 동작한다 현실 세계의 도로(간선)은 음의 간선으로.. CodingTest 2020. 10. 10. [이것이 코딩 테스트다] 6. 다이나믹 프로그래밍 www.youtube.com/watch?v=5Lu34WIx2Us&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=6 다이나믹 프로그래밍 다이나믹 프로그래밍은 동적 계획법이라고도 부른다 일반적인 프로그래밍 분야에서의 동적(Dynamic)이란 어떤 의미를 가질까? 자료구조에서 동적 할당(Dynamic Allocation)은 '프로그램이 실행되는 도중에 실행에 필요한 메모리를 할당하는 기법'을 의미한다 반면에 다이나믹 프로그래밍에서 '다이나믹'은 별다른 의미 없이 사용된 단어이다 다이나믹 프로그래밍은 다음의 조건을 만족할 때 사용할 수 있다 최적 부분 구조 (Optimal Substructure) 큰 문제를 작은 문제로 나눌 수 있으며 작은 문제로 나눌 수 있으며 작은 문제의.. CodingTest 2020. 10. 4. [이것이 코딩 테스트다] 5. 이진 탐색 www.youtube.com/watch?v=94RC-DsGMLo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=5 이진 탐색 알고리즘 순차 탐색: 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법 이진 탐색: 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 이진 탐색은 시작점, 끝점, 중간점을 이용하여 탐색 범위를 설정한다 이진 탐색 동작 예시 이미 정렬된 10개의 데이터 중에서 값이 4인 원소를 찾는 예시를 살펴보자 [Step 1] 시작점: 0, 끝점: 9, 중간점: 4 (소수점 이하 제거) [Step 2] 시작점:0, 끝점: 3, 중간점: 1 (소수점 이하 제거) [Step 3] 시작점: 2, 끝점: .. CodingTest 2020. 10. 4. [이것이 코딩 테스트다] 4. 정렬 알고리즘 www.youtube.com/watch?v=KGyK-pNvWos&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=4 정렬 알고리즘 정렬(Sorting) 이란 데이터를 특정한 기준에 따라 순서대로 나열하는 것 일반적으로 문제 상황에 따라서 적절한 정렬 알고리즘이 공식처럼 사용됨 선택 정렬 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것을 반복한다 선택 정렬 동작 예시 정렬할 데이터를 준비한다 [Step 0] 처리되지 않은 데이터 중 가장 작은 '0'을 선택해 가장 앞의 '7'과 바꾼다 [Step 1] 처리되지 않은 데이터 중 가장 작은 '1'을 선택해 가장 앞의 '5'와 바꾼다 [Step 2] 처리되지 않은 데이터 중 가장 작은 '.. CodingTest 2020. 10. 4. [이것이 코딩 테스트다] 3. DFS & BFS www.youtube.com/watch?v=7C9RgOcvkvo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3 그래프 탐색 알고리즘: DFS/BFS 탐색(Search)이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말한다 대표적인 그래프 탐색 알고리즘으로는 DFS와 BFS가 있다 DFS/BFS는 코딩 테스트에서 매우 자주 등장하는 유형이므로 반드시 숙지해야 한다 스택 자료구조 먼저 들어 온 데이터가 나중에 나가는 형식(선입후출)의 자료구조이다 입구와 출구가 동일한 형태로 스택을 시각화할 수 있다 스택 동작 예시 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제() 삽입(5) - 삽입(2) - 삽입(3).. CodingTest 2020. 10. 3. [이것이 코딩 테스트다] 2. 그리디 & 구현 www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=2 그리디 알고리즘 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구함 그리디 해법은 그 정당성 분석이 중요 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토함 [문제 상황] 루트 노드부터 시작하여 거쳐 가는 노드 값의 합을 최대로 만들고 싶음 Q. 최적의 해는 무엇인가? 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많음 하지만 코딩 테스트에서 대부분의 그리디 문제는 탐욕법으로 .. CodingTest 2020. 10. 3. [이것이 코딩 테스트다] 1. 코딩 테스트 출제 경향 분석 및 파이썬 부수기 www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=1 이것이 코딩 테스트다 소스코드 https://github.com/ndb796/python-for-coding-test 온라인 저지(Online Judge) 란? 프로그래밍 대회나 코딩 테스트에서 나올 법한 문제를 시험해보는 온라인 시스템 사이트명 URL 코드포스(Codeforces) http://www.codeforces.com 탑코더(TopCoder) https://www.topcoder.com 릿코드(LeetCode) https://leetcode.com 코드셰프(CODECHEF) https://www.codechef.com 백준 온라인 저지(BOJ) .. CodingTest 2020. 9. 30. [데브옵스를 위한 쿠버네티스 마스터] 쿠버네티스 핵심 개념-etcd 데이터베이스 살펴보기 ETCD의 개념과 사용 Key Value 데이터 다중의 Key Value 데이터 셋 etcd 데이터베이스 살펴보기 https://github.com/etcd-io/etcd/releases wget 다운로드 wget https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64.tar.gz압축해제 및 디렉토리 이동 tar -xzf etcd-v3.4.13-linux-amd64.tar.gzetcdctl 명령어를 사용하기 위해 디렉토리 이동 cd etcd-v3.4.13-linux-amd64key 조회 sudo ETCDCTL_API=3 ./etcdctl --endpoints 127.0.0.1:2379 --cacert /etc/k.. 개발강의정리/DevOps 2020. 9. 20. [데브옵스를 위한 쿠버네티스 마스터] 쿠버네티스 핵심 개념-Kube 시스템 컴포넌트 쿠버네티스 핵심 개념 Kube 시스템 컴포넌트 Kube API 서버 쿠버네티스 시스템 컴포넌트는 오직 API 서버와 통신 컴포넌트끼리 서로 직접 통신 X 때문에 etcd와 통신하는 유일한 컴포넌트 API 서버 RESTful API를 통해 클러스터 상태를 쿼리,수정할 수 있는 기능 제공 API 서버의 구체적인 역할 인증 플러그인을 사용한 클라이언트 인증 권한 승인 플러그인을 통한 클라이언트 인증 승인 제어 플러그인을 통해 요청 받은 리소스를 확인/수정 리소스 검증 및 영구 저장 Kube 컨트롤러 매니저 API 궁극적으로 아무 역할을 하지 않음 컨트롤러에는 다양한 컨트롤러가 존재 이 컨트롤러는 API에 의해 받아진 요청을 처리하는 역할 레플리케이션 매니저(레플리케이션컨트롤러) 레플리카셋, 데몬셋, 잡 컨트롤.. 개발강의정리/DevOps 2020. 9. 20. [데브옵스를 위한 쿠버네티스 마스터] minikube 소개 및 활용 이번 시간은 빠르게 설치할 수 있는 경량화된 쿠버네티스인 Minikube를 설치하고 사용하는 방법에 대해 다루겠다 우분투 18.04 환경에서 도커를 사용해서 구축한다 MiniKube를 설치하기 전에 Minikube는 가상환경을 사용해 쿠버네티스 클러스터를 가상으로 구현한다 다음 사이트를 확인하면 각각에서 제공되는 정보를 확인할 수 있다 미니큐브 공식 사이트: 설치하기 https://minikube.sigs.k8s.io/docs/start 쿠버네티스 공식 사이트: Minikube로 쿠버네티스 설치 https://kubernetes.io/ko/docs/setup/learning-environment/minikube 미니큐브는 리눅스, macOS, 윈도우 환경을 모두 제공하는데 일반적으로 가상환경을 제공하는 .. 개발강의정리/DevOps 2020. 9. 13. [배워서 바로 쓰는 스프링 부트2] 1.3 예제 프로젝트의 구성 1.3 예제 프로젝트의 구성 한빛미디어 예제 다운로드: https://www.hanbit.co.kr/lib/examFileDown.php?hed_idx=4599 원본 저자 GitHub: https://github.com/miyabayt/spring-boot-doma2-sample spring-boot-doma2-sample ├── build.gradle - 부모 프로젝트의 빌드 스크립트 ├── sample-common - 공통으로 사용하는 유틸리티를 관리하는 모듈 ├── sample-domain - 도메인 객체를 관리하는 모듈 ├── sample-web-base - 웹 모듈의 공통 기능을 관리하는 모듈 ├── sample-web-front - 최종 사용자용 웹 애플리케이션 ├── sample-web-ad.. Spring 2020. 9. 5. [배워서 바로 쓰는 스프링 부트2] 1.2 웹 애플리케이션 개발 1.2 웹 애플리케이션 개발 개발자 도구 스프링 부트는 spring-boot-devtools 모듈을 제공 이 모듈은 JVM 핫 스와핑과는 다른 방식으로 애플리케이션 개발의 효율성을 높여줌 spring-boot-devtools를 의존관계에 추가하기(build.gradle) configurations { developmentOnly runtimeClasspath { extendsFrom developmentOnly } } dependencies { developmentOnly "org.springframework.boot:spring-boot-devtools" } 디폴트 속성 spring-boot-devtools는 자동으로 캐시를 비활성화하는 개발 환경 설정을 적용 DevToolsPropertyDefault.. Spring 2020. 9. 5. 이전 1 ··· 18 19 20 21 22 23 24 ··· 42 다음 💲 추천 글 728x90