728x90
반응형

분류 전체보기 196

[프로그래머스] 큰 수 만들기 문제 풀이 (Python) : Greedy 알고리즘

문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 2자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다. 입출력 예 number k return "1924" 2 "94" ..

[프로그래머스] 구명보트 문제 풀이 (Python) : Greedy 알고리즘

문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요..

MySQL root 패스워드 분실 시 재설정 방법

1. mysqld 정지 및 MySQL 환경 변수 설정 mysqld를 정지해준 뒤, MySQL 환경 변수를 변경하여 비밀번호 없이 root로 로그인할 수 있도록 해준다. $ systemctl stop mysqld $ systemctl status mysqld $ systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" 2. MySQL root 로그인 및 비밀번호 변경 mysqld를 다시 가동하고 로그인을 한다. 비밀번호를 입력하지 않고 바로 Enter를 누르면 로그인에 성공한다. $ systemctl start mysqld $ mysql -u root -p //패스워드 입력하지 않고 바로 엔터 패스워드 변경 단계에서 인터넷을 참고해서 명령어를 입력해도 계속..

Database/MySQL 2022.06.18

Elasticsearch 기본 개념과 CRUD 사용법 알아보기

Elasticsearch Elasticsearch는 Apache Lucene(아파치 루씬) 기반의 Java 오픈소스 분산 검색 엔진이다. JSON 기반의 문서를 저장하고 검색할 수 있으며 문서들의 데이터를 기반으로 분석 작업도 할 수 있다. Elasticsearch를 통해 루씬 라이브러리를 단독으로 사용할 수 있게 되었으며, 방대한 양의 데이터를 신속하게, 거의 실시간(NRT, Near Real Time)으로 저장, 검색, 분석할 수 있다. Elasticsearch와 Relational DB 비교 MySQL과 같은 RDBMS는 테이블을 만들고 테이블에 각 필드를 미리 정의해야하지만, Elasticsearch는 스키마를 미리 정의할 필요가 없고 자동으로 해당 document를 분석한 뒤 document에 ..

ETC/ELK 2022.04.25

Helm 사용법과 명령어 정리 - Repository 조회, Helm Chart 만들기

Helm이란? helm은 deployment, service, ingress 등 yaml 파일들을 하나의 package로 관리하고자할 때 사용하는 도구이다. 기본적으로 배포한 애플리케이션을 삭제하기 위해선 deployment.yaml, service.yaml, ingress.yaml 등 따로 삭제해주어야하지만, helm을 사용하게 되면 설치와 삭제 모두 한번에 가능해서 간편하다. 주요 개념 3가지 1. Chart: helm package에 해당하는 부분으로, 이 패키지에는 Kubernetes Cluster 내에서 애플리케이션, 툴, 서비스를 구동하는데 필요한 모든 Resource가 정의되어있다. 즉, Chart는 templates으로 설치하고자 하는 쿠버네티스 리소스의 설치 스크립트라고 볼 수 있다. 2..

Kubernetes 2022.04.22

2022년 상반기 안랩 장기현장실습 인턴 합격 후기

어느덧 2022년 상반기 안랩 현장실습 인턴에 합격하여 근무한지 4달이 지났다.지원 당시 보안 관련 활동을 찾아보던 중 안랩에서 체험형 인턴을 주기적으로 모집한다는 것을 알게 되었다. 기업에 이력서를 넣어보는 것이 처음이라 긴장도 되었고 떨렸던 것 같다! 이제 곧 2022년 하반기 인턴을 모집할 시기가 다가오고 있는데, 지원할 때 이전에 합격 후기 블로그 글을 보며 많은 도움을 얻었던 것 같아 합격 후기를 적어보려고 한다. 모집 공고는 아래와 같다.모집 공고는 2021년 11월 중반에 올라왔고, 2022년 3월 기준 3학년 1학기 이상은 모두 지원할 수 있기 때문에 지원 조건에 맞는다면 도전해보는 것을 추천한다! ✏️ 서류 전형서류 전형의 경우 특별한 양식이 없고 아래와 같이 자유 양식이어서 작성하기 ..

Linux에서 txt 파일 한글 깨짐 해결, iconv와 find로 모든 파일 인코딩 변경

파일 인코딩 방식 확인 외부에서 작성한 파일을 리눅스(Ubuntu)로 가져왔을 경우, 다음과 같이 글자가 깨져있는 경우가 많다. 다음과 같이 입력하면 파일의 인코딩 방식을 확인할 수 있다. 아래 예시의 경우 "iso-8859-1"으로 인코딩되어있음을 알 수 있다. $ file -bi [파일명] text/plain; charset=iso-8859-1 파일이 여러개일 경우 아래와 같이 입력하면 여러 파일의 인코딩 방식을 한번에 확인할 수 있다. $ file -i * a.out: application/x-executable; charset=binary test.c: text/x-c; charset=utf-8 파일 인코딩 형식 변환 한글이 깨지지 않도록 iconv 명령어를 사용하여 인코딩 형식을 변환해주어야 한..

Linux/Ubuntu 2022.04.09

[Kubernetes] kubectl 명령어 정리

1. kubectl 개요 Kubectl은 쿠버네티스 클러스터를 제어하기 위한 커맨드 라인 도구이다. kubectl 은 config 파일을 $HOME/.kube 에서 찾을 수 있다. KUBECONFIG 환경 변수를 설정하거나 --kubeconfig 플래그를 설정하여 다른 kubeconfig 파일을 지정할 수 있다. * 참고: 클러스터에 대한 접근을 구성하는 데 사용되는 파일을 kubeconfig 파일 이라 한다. kubeconfig 파일들을 사용하여 클러스터, 사용자, 네임스페이스 및 인증 메커니즘에 대한 정보를 관리할 수 있다. 2. kubectl 구문 kubectl 명령어의 형태는 기본적으로 다음과 같다. kubectl [command] [TYPE] [NAME] [flags] • command: 하나 ..

Kubernetes 2022.04.08

VirtualBox에서 CentOS SSH 설정 및 접속하기

1. CentOS에 SSH 설치 - ssh가 설치되어있는지 확인 $ yum list installed ssh - 아래 명령어로 openssh 설치 $ yum -y install openssh-server openssh-clients openssh-askpass - network 재시작 $ systemctl restart network - ssh 설정 파일 수정 $ vi /etc/ssh/sshd_config Port 22 주석 해제 - ssh 서비스 구동 $ systemctl start sshd.service - 방화벽 설정 $ firewall-cmd --zone=public --add-port=22/tcp --permanent $ firewall-cmd --reload 2. Virtual Box 설정 -..

Linux/실습 기록 2022.04.08

Kubernetes 이론과 설치 방법 알아보기

1. Container Orchestration - 컨테이너 배포 관리는 흔히 컨테이너 오케스트레이션(Container Orchestration) 이라고 불린다. - 다수의 컨테이너를 동작하는 환경 그리고 다수의 서버를 사용하는 환경에서는 도커를 관리하기 위한 다른 솔루션 또는 툴이 필요 하였고 이런 컨테이너를 관리 하기 위해 나온 툴이 컨테이너 오케스트레이션이다. - 컨테이너 오케스트레이션의 목적은 여러 컨테이너의 배포 프로세스를 최적화 하는데 있으며, 이것은 컨테이너와 호스트의 수가 증가함에 따라 점점 더 가치가 있게 된다. - 컨테이너 오케스트레이션 도구 중 대표적인 Docker 기반 오케스트레이션 도구로, Docker Swarm, Kubernetes, Apache Mesos가 있다. Docker ..

Kubernetes 2022.04.05
728x90
반응형