전체 글
-
[프로그래머스] - [3차] 방금그곡Algorithm/프로그래머스 2022. 7. 17. 01:10
문제 [프로그래머스] - [3차] 방금그곡 https://school.programmers.co.kr/learn/courses/30/lessons/17683?language=python3# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 더보기 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, 라디오 등에서 나온 음악에 관해 제목 등의 정보를 제공하는 서비스이다. 네오는 자신이 기억한 멜로디를 가지고 방금그곡..
-
[Docker] - 4.Volume&Bind Mount개발/Docker 2022. 7. 16. 16:16
Docker Container는 어떻게 동작하며, 어떤 방식으로 저장할 수 있는지를 알아보려고 합니다. 1. Docker Container 생명 주기 아래 그림과 같이 생명 주기를 잘 표현해보인 그림이라 가져와보았습니다. 결국 실행되어서 rm 명령어로 처리하지 않는 이상 Data가 존재합니다. 그렇다면 Container가 삭제되거나 Docker가 종료되거나 다시 시작하게 된다면, 해당 Data들은 어디로 가게 될까요? -> Container와 사라지는 동시에 같이 사라집니다. 그렇기 때문에 Local 환경에 Data를 적용시킬 수 있는 방법을 배우려고 합니다. 2. Docker Stored Data Docker는 어떤 방식으로 Data를 저장할 수 있을까요? 제가 알아본 바에 따르면 현재 2가지를 통해서..
-
[Airflow] - 5.Postgresql 설치 및 DB setting개발/Airflow 2022. 7. 13. 17:07
Airflow와 연동하여 사용할 DB = postgresql(psql)에 알아보도록 하겠습니다. docker-compose 내에 있는 파일을 통해서 Build를 하는 것이 아닌 Postgres Image를 통해 빌드하는 내용입니다. Postgresql을 이제부터 psql 이라 칭하여 부르겠습니다. 들어가기 앞써, 설치 및 실제 Docker위에서 실행하는 방법부터 단계적으로 알아보려고 합니다. 1. Psql Install & Docker run 아래와 같은 명령어를 치게 된면 최근의 Psql 이미지를 가져와 실행시켜 줍니다. $ docker run -p 5432:5432 --name postgres -e POSTGRES_PASSWORD=password -d postgres Unable to find ima..
-
[프로그래머스] - [1차] 프렌즈4블록Algorithm/프로그래머스 2022. 7. 13. 16:10
[프로그래머스] - [1차] 프렌즈4블록 주소 : https://school.programmers.co.kr/learn/courses/30/lessons/17679 문제 이해 2D array 블록에서 정사각형의 2X2 블록이 모두 동일하다면, 터지고 아래로 내려오는데 이 때 터진 총 갯수 혹시나 별도의 풀이 방법이 들어갈까 생각을 하여보았지만, 별도로 생각 나는게 없어서 블록 내리기 식으로 구현하였습니다. 알고리즘 1. Maps 라는 2D array를 설정 ( 문자열보다 List index 접근 위함 ) 2. 각 블록의 경우 기준을 잡은 블록의 우측 / 아래 / 대각선 우측 아래가 동일하다면 터진다라고 접근하였습니다. 3. 바로 블록을 터뜨리기에는 동시에 터지는 경우가 발생하여, 해당 데이터를 모아둡니다..
-
[프로그래머스] - 모음사전Algorithm/프로그래머스 2022. 7. 13. 13:33
[프로그래머스] - 모음사전 https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 처음에 보았을 때는 알파벳 모음을 가지고 Backtracking하여 순서를 찾는 문제로 접근하였습니다. 하지만 일관성이 없어 재귀로 풀 수 없다고 생각하여 고민 끝에 매우 간단한 문제라는 것을 알았습니다. 모든 경우의 수를 정렬하면 result 결과와 동일하게 나오리라 생각이 들었습니다. 알고리즘 단어의 모든 경우의 수를 추출하기 위해서 Product Ite..
-
[Airflow&Python] - 4. Template variable(ts/ds/.. ) & datetime & KST 변경개발/Airflow 2022. 7. 8. 17:54
저번 시간에 이어 Task에 실제 실행되는 시간 및 Airflow는 기본적으로 UST를 지원해줌으로써, KST로 설정 혹은 KST로 값을 변경하는 부분에 대해서 소개해드리려고 합니다. 1. Template Variable https://airflow.apache.org/docs/apache-airflow/stable/templates-ref.html 를 참고하면 도움이 됩니다. 각 시간 별로 API를 호출하여 사용하려다 보니 실제 실행될 시간을 인자로 넘겨받기 위해 찾다가 찾은 내용입니다. Airflow 자체적으로 Variable을 전달해주는 것으로 보입니다. 1. {{ ds }} = The DAG run’s logical date as YYYY-MM-DD 2. {{ ts }} = The DAG run'..
-
[Airflow] - 3. Dags(Python operator)개발/Airflow 2022. 7. 8. 17:36
Dag 파일을 만들어보고 Workflow를 Pythonoperator로 구현하는 예시를 보여드릴 예정입니다. 틀린 내용이 있을 수 있으니 상세한 부분 Document를 참고하시는 것을 추천 드립니다. 1. Dag 생성 Dag file을 생성하기 위해서는 일단 Ubuntu의 Dags 폴더 File을 들어갑니다. 왜 Dag 폴더를 이용하는 가는 실제 Docker Container가 실행되면 dags / logs / plugins 폴더를 Mount 하여 가져갑니다. ( 이부분은 Docker Container를 직접 접속하셔서 /opt/airflow/dags 에 들어가시면 확인 할 수 있습니다. ) 후에 Dag를 만들 Test.py 파일을 만듭니다. $ cd /dags $ sudo vi test.py 이제부터는..
-
[Programmers] - 더 맵게Algorithm/프로그래머스 2022. 7. 7. 13:01
[Programmers] - 더 맵게 https://school.programmers.co.kr/learn/courses/30/lessons/42626?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 모든 매운 지수들을 K이상으로 만든다. K보다 작은 값들은 2가지를 합쳐 스코빌을 높일 수 있다. 이 때 몇번만에 모든 스코빌 지수를 K보다 크게 할 수 있는가? 알고리즘 가장 작은 수들을 계속하여 합쳐야 함으로 우선순위 Queue 알고리즘을 사용하였다. Heapq를 통하여 가장 작은 숫자를 O(logN)에 뽑아내어 갱..