분류 전체보기
-
[프로그래머스] 점프와 순간 이동프로그래밍/코딩 테스트 2024. 9. 16. 09:39
문제. OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언 슈트를 착용하고 거리가 N 만큼 떨어져 있는 장소로 가려고 합니다. 단, 건전지 사용량을 줄이기 위해 점프로 이동하는 것은 최소로 하려고 합니다. 아이언 슈트 구매자가 이동하려는 거리 N이 주어졌을 때, 사용해야 하는 건전지 사용량의 최솟값을 return하는..
-
[Docker] 이미지 다루기Server&Infra/Docker 2024. 9. 15. 09:46
도커 이미지는 애플리케이션(컨테이너)을 실행하는데 필요한 파일/설정 등을 포함하는 변경이 불가능한 불변파일이자 하나의 객체이다. 도커 이미지는 특정 시점의 애플리케이션 가상 환경을 의미하고 읽기 전용 스냅샷이기도 한다. 도커 이미지는 Dockerfile를 통해 직접 만들수도 있고, 이미 만들어둔 것을 도커 허브(https://hub.docker.com/)에서 가져와 사용할 수 있다. 도커 허브는 이미지 저장소(registery)로, 가입하여 이미지를 올리거나 내려받을 수 있다. 도커 이미지 확인하기로컬에 저장된 이미지 목록을 확인 할 수 있다.# docker image ls 아래 명령어로도 같은 결과를 얻는다.# docker images 도커 이미지 다운받기도커 이미지를 다운 받기 위해서는 do..
-
[Docker] 컨테이너 다루기(3) - 중지/삭제하기Server&Infra/Docker 2024. 9. 14. 11:28
컨테이너 중지하기실행중인 컨테이너를 중지 할 수 있다.# docker [container] stop mynginx 컨테이너를 확인해보면, Status가 Exited임을 알 수 있다.# docker [container] ps -a 컨테이너 삭제하기컨테이너를 삭제 할 수 있다.# docker [container] rm mynginx 실행중인 컨테이너 중지/삭제 한번에 하기실행중인 컨테이너를 중지 및 삭제를 한번에 진행한다.# docker container stop $(docker ps -q) ; docker container rm $(docker ps -aq) 위 명령어를 상세하게 보자.1) 모든 컨테이너 id만 출력하기# docker ps -aq 2) 실행중인 컨테이너 전부 중단# docker ..
-
[Docker] 컨테이너 다루기(2) - 실행하기Server&Infra/Docker 2024. 9. 13. 20:54
실행중인 컨테이너 확인하기실행중인 컨테이너를 확인 할 수 있다.# docker [container] ps 모든 컨테이너 확인하기종료된 컨테이너를 포함한 모든 컨테이너를 확인 할 수 있다.# docker [container] ps -a * CONTAINER ID: 컨테이너의 할당된 고유한 아이디 해쉬값* IMAGE: 컨테이너 생성시 사용한 도커 이미지* COMMAND: 컨테이너 시작시 실행될 명령어* CREATED: 컨테이너가 생성된 시간* STATUS: 컨테이너의 상태(UP: 실행중, Exited: 종료, Pause: 일시정지)* PORTS: 컨테이너가 개방한 포트와 호스트에 연결한 포트* NAMES: 컨테이너의 고유한 이름. 컨테이너 생성시 --name 옵션으로 이름을 설정하지 않으면 도커 엔진이 ..
-
[Docker] 컨테이너 다루기(1) - 생애주기(Life Cycle)Server&Infra/Docker 2024. 9. 12. 22:50
도커 컨테이너는 말 그대로 물건을 담는 컨테이너와 비슷하게 애플리케이션과 이를 실행할 컴퓨터가 포함되어, 독립적인 환경에서 동작할 수 있는 환경이 만들어 진다. 서로 다른 여러 컨테이너를 독립적으로 실행되어지지만, 컨테이너를 실행하는 컴퓨터의 CPU와 메모리, 운영체제를 공유하고 있다. 컨테이너 생애주기(Life-Cycle) 1) Created : 컨테이너 생성httpd 이미지 생성# docker create --name myapache httpd 2) Running: 컨테이너 실행myapache 실행하기※ 백그라운드로 실행하는 것이 기본값.※ run은 create, start를 한번에 실행. 대신 백그라운드(-d 옵션), 포워드그라운드 설정 해줘야함# docker container sta..
-
[Docker] 시작하기Server&Infra/Docker 2024. 9. 10. 10:08
도커는 컨테이너라는 경량 단위로 애플리케이션을 개발, 배포, 실행하는 기능을 제공하는 오픈 소스 플랫폼으로, 컨테이너는 애플리케이션과 실행에 필요한 모든 라이브러리, 설정 파일, 의존성을 하나의 패키지로 묶어 다양한 환경에서 동일하게 동작할 수 있도록 한다. 도커는 컨테이너를 통해 개발, 테스트, 배포 활경을 동일하게 유지 할 수있어, 라이브러리 버전과 운영체제 차이와 같은 환경에 대한 의존성 문제를 해결할 수 있다. 실행중인 애플리케이션과 동일한 방식으로 다른 환경에서도 실행이 가능하다. 도커는 가상머신보다 가볍고 최소한의 리소스만을 사용하기 때문에, 효율적으로 자원관리가 가능하고 각 컨테이너를 서로 독립적인 환경에서 실행하여 애플리케이션간 의존성을 격리시켜 충돌 없이 실행할 수 있다. 도커의 주..
-
[알고리즘] 시간 복잡도(Time complexity)프로그래밍/알고리즘 2024. 9. 9. 00:19
시간복잡도(Time complexity)는 문제를 해결하는데 걸리는 수행 시간과 입력 데이터의 함수 관계를 분석하는 개념으로, 입력 데이터의 크기가 커질 때, 알고리즘이 얼마나 효율적인지 평가할 수 있다. 시간 복잡도는 주로 빅오 표기법(Big-O Notation)으로 표현되며, 알고리즘의 수행 시간은 동일 크기의 다양한 입력 데이터에 의해 달라질 수 있기 때문에, 가장 많이 쓰이는 최악의 시간 복잡도의 알고리즘 시간을 T(n)이라고 했을 때, 이것은 크기 n의 모든 입력 데이터에 대해 걸리는 최대의 시간으로 정의할 수 있다. 그 수치가 작을 수록 효율적인 알고리즘을 의미한다. 시간 복잡도에는 빅오(Big-O) 외에도 빅오메가(Big-Omega), 빅세타(Big-Theta)라는 개념도 존재한다.빅오는..
-
[프로그래머스] 피보나치 수프로그래밍/코딩 테스트 2024. 9. 7. 13:58
문제. 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어, F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5와 같이 이어집니다.2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요.제한 사항. n은 2 이상 100,000 이하인 자연수입니다. 나의 접근.주어진 자연수 n+1 길이의 배열(pi)을 선언하여, pi[i-1] + pi[i-2] 한 값이 pi..