전체 글
-
[프로그래머스] 짝지어 제거하기프로그래밍/코딩 테스트 2024. 9. 26. 20:58
문제.알파벳 소문자로 이루어진 문자열을 가지고 시작합니다.먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면b aa baa → bb aa → aa →의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다.제한 사항.* 문자열의 길이 : 1,000,000이하의 자연수* 문자열은 모두 소문자로 이루어져 있습니다. 나의 접근.처음에는 반복..
-
[Docker] mysql 볼륨 설정Server&Infra/Docker 2024. 9. 20. 22:32
이번 게시글에서는 도커 mysql에 볼륨을 설정하여, 볼륨에 데이터가 보존되는지 확인해볼 것이다. 목표.1. docker에서 mysql 이미지를 다운로드 받아 볼륨을 설정하고 컨테이너를 실행한다.2. mysql 컨테이너에 확인용 데이터를 주입한다.3. 기존 컨테이너를 내리고, 새로운 컨테이너에 볼륨을 설정하고 실행한다.4. 볼륨에 데이터가 보존되어있는지 확인한다. docker hub에서 mysql 이미지를 다운로드 받는다. 실습을 위해 mysql 5.7 버전을 사용한다.https://hub.docker.com/_/mysql/tags?page_size=&ordering=&name=5.7 # docker pull mysql:5.7 제대로 다운로드 되었는지 확인하고 mysql 컨테이너를 실행한다. ..
-
[Docker] httpd 웹 접속하기Server&Infra/Docker 2024. 9. 19. 20:19
이번 글에서는 httpd 이미지를 실행하여 웹에 접속하는 방법에 대해 알아보자. 이전까지 우리가 접근한 방식으로 컨테이너를 실행하고 컨테이너에 접근하는것은 Server 내부에서만 가능했다. 외부에서 접근하려면 Server 호스트와 컨테이너의 연결이 끊겨있기 때문에 아무리 호출해도 컨테이너 웹 서버를 호출 할 수 없다. 이를 해결하기 위해 Server 호스트와 컨테이너를 연결해주는 작업이 필요하다. 컨테이너 실행할때, Server 호스트의 80번 Port와 컨테이너의 80번 Port를 연결하는 포트포워딩 작업을 추가하면 된다. # docker run -d --name -p : 외부에서 Host Port로 내부 Container Port를 바라 볼 것을 의미하며, IP는 생략 가능하다. 이렇..
-
[Docker] 컨테이너 다루기(4) - 명령어 전달하기카테고리 없음 2024. 9. 18. 16:51
컨테이너로 명령어를 전달하고 컨테이너 내부로 접속하는 방법에 대해 알아보자. 도커 컨테이너로 명령어 전달하기# docker exec 우선 NAMES이 myapache인 httpd 이미지를 실행한다.# docker run -d --name myapache httpdps 명령어로 컨테이너가 정상적으로 실행중인지 확인한다. httpd 컨테이너에 pwd 명령어를 전달해보자. 이때 CONTAINER_ID는 NAMES로 변경할 수 있다.# docker exec myapache pwd 도커 컨테이너로 접속하기간단한 명령어는 컨테이너에 직접 접속하지 않고 명령어를 전달 할 수 있지만 복잡한 작업이 필요한 경우에는 매번 명령어를 입력하기 번거로울 수 있다.# docker exec 이때, 위 와 같은 명령어를 사..
-
[알고리즘] 탐욕법 알고리즘(Greedy Algorithm)프로그래밍/알고리즘 2024. 9. 17. 22:01
탐욕법 알고리즘(Greedy Algorithm)은 말 그대로 선택의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫓아 최종적인 해답에 도달하는 방법으로 최적화 문제를 해결하기 위해 사용하는 알고리즘 방법 중 하나이다. 예시) 노드의 합이 가장 높은 방법을 생각해보자. 이 처럼 탐욕법 알고리즘은 매 단계에서 현재 상황에서 가장 최선의 선택을 하는 방식으로 최종 해답을 찾지만 항상 최적의 값을 보장하는것은 아니다. 이러한 탐욕법 알고리즘은 모든 상황에서 보다는 탐욕 선택 속성(greedy choice property), 최적 부분 구조(optimal substructure) 특성을 가지는 문제들을 해결하는 데 강점이 있다. - 탐욕 선택 속성(greedy choice property) 이전 단..
-
[Docker] 볼륨(volume) 마운트하기Server&Infra/Docker 2024. 9. 17. 11:26
도커 컨테이너는 기본적으로 일시적인 파일 시스템을 사용하여 컨테이너가 종료되거나 삭제되면 그 안에 저장된 데이터도 함께 사라지게 되어있지만, 도커 볼륨을 사용하면 컨테이너가 삭제되더라도 데이터를 유지할 수 있어 지속적인 데이터 저장을 가능하다. 보통 데이터베이스 데이터를 지속적으로 저장하고 싶을 때 볼륨을 사용하여 데이터를 보호할 수 있다. 도커 볼륨을 사용하는 방법으로 볼륨을 생성하는 이를 사용하는 방법과 볼륨을 생성하지 않고 컨테이너를 실행할 때 선언하는 익명 볼륨 방식이 있다. 1. 볼륨 생성# docker volume create 2. 볼륨 목록 확인# docker volume ls 3. 볼륨 메타 정보 확인volume inspect 명령어를 통해 볼륨의 마운트 지점(Mountpoint)을 ..
-
[프로그래머스] 구명보트(feat. 탐욕법 알고리즘)프로그래밍/코딩 테스트 2024. 9. 16. 16:16
문제. 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다.구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다.사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요.제한 사..
-
[프로그래머스] 점프와 순간 이동프로그래밍/코딩 테스트 2024. 9. 16. 09:39
문제. OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언 슈트를 착용하고 거리가 N 만큼 떨어져 있는 장소로 가려고 합니다. 단, 건전지 사용량을 줄이기 위해 점프로 이동하는 것은 최소로 하려고 합니다. 아이언 슈트 구매자가 이동하려는 거리 N이 주어졌을 때, 사용해야 하는 건전지 사용량의 최솟값을 return하는..