본문 바로가기

전체 글269

#1 Airflow 설치 (With Docker windows) 회사에서 Airflow를 도입하게 되면서, 나도 제대로 정리할 겸 블로그에 시리즈 방식으로 정리할 계획이다. Airflow documentation을 읽고 Docker 기반으로 Airflow를 설치했다. https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html Running Airflow in Docker — Airflow Documentation airflow.apache.org 그럼 시작해보자. 먼저 하단 포스팅을 참고해서 Docker를 설치하자. 2021.08.14 - [Development Environment/Docker] - [Docker] windows에 Docker 설치하기 [Docker] windows에 Docker .. 2021. 8. 19.
Windows 10에 WSL2 설치하기 https://docs.microsoft.com/en-us/windows/wsl/install-win10 Install WSL on Windows 10 Learn how to install Linux distributions on your Windows 10 machine, with a Bash terminal, including Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, and Alpine. docs.microsoft.com 먼저 WSL2를 설치하려면 Windows 10 이여야 합니다. 또한 WSL2 설정을 위해 Windows Terminal을 설치합시다. 설치되어 있지 않다면 하단 포스팅을 참고하거나 Microsoft Store 앱에서 Terminal을 검색 후 .. 2021. 8. 14.
[Docker] windows에 Docker 설치하기 Docker를 windows에 설치해보자 https://docs.docker.com/docker-for-windows/install/ Install Docker Desktop on Windows docs.docker.com 위 사이트를 기준으로 설치하였다. https://hub.docker.com/editions/community/docker-ce-desktop-windows/ Docker Desktop for Windows by Docker | Docker Hub Get more out of Docker with a free Docker ID Sign up for a Docker ID to gain access to all the free features Docker has to offer, inclu.. 2021. 8. 14.
Windows Terminal 설치하기 https://www.microsoft.com/ko-kr/p/windows-terminal/9n0dx20hk701?rtc=1&activetab=pivot:overviewtab#] Windows Terminal 구매 - Microsoft Store ko-KR Microsoft Store에서 이 Windows 10용 앱을 다운로드하세요. 스크린샷을 보고, 최신 고객 리뷰를 읽고, Windows Terminal에 대한 평점을 비교하세요. www.microsoft.com 위의 웹사이트에 방문한다. 받기를 클릭 ls 명령어 같은 리눅스 명령어도 동작한다. 2021. 8. 13.
[프로그래머스] 등굣길(Python) https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr dp = [[0 for w in range(101)] for h in range(101)] _map = [[0 for w in range(101)] for h in range(101)] # 01 state = [[0 for w in range(101)] for h in range(101)] # 012 dxdy = [[1, 0], [0, 1], [-1,.. 2021. 8. 12.
[프로그래머스] 2 x n 타일링(Python) https://programmers.co.kr/learn/courses/30/lessons/12900 코딩테스트 연습 - 2 x n 타일링 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 programmers.co.kr def solution(n): a,b =1,2 for i in range(n-1): a,b = b, a+b return a%1000000007 ''' n(1) = 1 n(2) = 2 n(3) = 3 n(4) = 5 n(5) = n(3) + n(4) ''' 2021. 8. 12.
[프로그래머스] 이중우선순위큐(Python) https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr def solution(operations): answer = [] test=[] for _str in operations: _str=_str.split() if _str[0]=='I': test.append(int(_str[1])) test.sort() else: if test: if _str[1]=='1': test.pop(-1) else: test.pop(0) if test: return [test[-1],test[0]] return [0,0] 2021. 8. 12.
[프로그래머스] 정수삼각형(Python) https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr def solution(triangle): for depth in range(1, len(triangle)): for i, v in enumerate(triangle[depth]): v1 ,v2 = 0,0 if(i>0): v1 = triangle[depth-1][i-1] if(i 2021. 8. 12.
[프로그래머스] 디스크 컨트롤러(Python) https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr import heapq def solution(jobs): ''' 풀이 알고리즘 - 비선점 디스크 스케줄러 1. 2차원 배열을 요청과 작업 순서가 적은대로 정렬. sort활용. 2. 작업 시작 시간과 작업 시간을 고려해서 heapq에 저장 3. count와 latest, time 최신화 ''' jobs.sort() heap = [] count = 0 # 디.. 2021. 8. 12.
[프로그래머스] N으로 표현(Python) https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr ''' DP N 으로 표현. N 과 number 가 주어질 때 N을 최소로 사용하여 number를 표현. ex) 5로 12표현 state(1) = (int(str(N)*1)) state(2) = 5+5 , 5-5 , 5*5 , 5/5 , (int(str(N)*2)) state(3) = state(2)+5 , state(2)-5 , state(2)/5 ,(int(str(N)*3)) state(4) = state(2) + state(2) , ... ''' def solution(N, number): if N == number: return 1 .. 2021. 8. 12.
[프로그래머스] 입국심사(Python) https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr def solution(n, times): start=1 end=min(times)*n answer=end while(end>=start): mid=(start+end)//2 people=0 for i in times: people+=mid//i if people>=n: end=mid-1 if answer>=mid: answer=mid else: start=mid.. 2021. 8. 12.
[프로그래머스] 도둑질(Python) https://programmers.co.kr/learn/courses/30/lessons/42897 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr def solution(money): # dp[i] = max(dp[i-1], dp[i-2]+money[i]) 점화식 dp = [0]*len(money) #첫번째 집을 터는 경우 dp[0]=money[0] dp[1]=money[0] for i in range(2,len(money)-1): #마지막 집은 털면 안됨 dp[i] = max(dp[i-1], dp[i-2].. 2021. 8. 12.
[프로그래머스] 징검다리(Python) https://programmers.co.kr/learn/courses/30/lessons/43236 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr def solution(distance, rocks, n): result =0 rocks.extend([0,distance]) # 0 distance 추가 rocks.sort() # 정렬 start, end = 0, distance while start=mid: temp=i else: cnt+=1 if cnt>n+1: end=mid-1 else: s.. 2021. 8. 12.
[프로그래머스] 다단계 칫솔 판매(Python) https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr def cal_dividend(seller,amount,member_dict={}): dividend = int(amount*0.1) # 배당금 10% 1미만 if dividend < 1 : member_dict[seller][1] += amount # 그대로 순이익 # 배당금 10% 1이상 and 추천인 X elif member_dict[seller][0.. 2021. 8. 10.