전체 글
-
[프로그래머스] - 피보나치 수Algorithm/프로그래머스 2022. 7. 19. 23:07
문제 [프로그래머스] - 피보나치 수 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 더보기 문제 설명 피보나치 수는 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) = ..
-
[프로그래머스] - 줄 서는 방법Algorithm/프로그래머스 2022. 7. 19. 22:56
문제 [프로그래머스] - 줄 서는 방법 https://school.programmers.co.kr/learn/courses/30/lessons/12936?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 더보기 문제 설명 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람이 있다면 다음과 같이 6개의 방법이 있습니다. [1, 2, 3] [1, 3, 2] [2, 1, 3] [2,..
-
[프로그래머스] - [3차] 압축Algorithm/프로그래머스 2022. 7. 19. 20:45
문제 [프로그래머스] - [3차] 압축 https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 더보기 문제 설명 압축 신입사원 어피치는 카카오톡으로 전송되는 메시지를 압축하여 전송 효율을 높이는 업무를 맡게 되었다. 메시지를 압축하더라도 전달되는 정보가 바뀌어서는 안 되므로, 압축 전의 정보를 완벽하게 복원 가능한 무손실 압축 알고리즘을 구현하기로 했다. 어피치는 여러 압축 알고리즘 중에서 성능이 좋고 구현이 간단한 LZW(Lempel–Zi..
-
[Airflow] - 6. Connect Postgresql개발/Airflow 2022. 7. 19. 15:14
지금까지 Psql 관련하여 Volume 설정 및 간단한 쿼리문을 알아보았습니다. 이제 부터는 Airflow를 통해 Postgresql에 DB에 반영하기 위해 Connect 및 DB생성 및 Data Insert 까지 하는 과정을 공유드리려고 합니다. 금일 보여드릴 부분은 DB Cluster 관련된 부분은 반영하지 않습니다. 1. Airflow Setting ( docker-compose.yaml ) docker-compose.yaml docker-compose.yaml 을 열어 아래 부분을 편집하여 줍니다. 1. 먼저 연결할 DB를 설정하여 줍니다. Airflow가 연결된 DB가 SQLite와 같이 Postgresql이 아니라면 아래와 같이 변경하여 줍니다. AIRFLOW__CORE__SQL_ALCHEMY..
-
삼항 연산자(Ternary operator)개발/Python 2022. 7. 18. 22:48
1. 3항 연산자 if-else와 같지만 한 줄로 표현 2. 3항 연산자 Syntax 기존의 if else 문을 통하면 아래와 같습니다. a, b = 100, 200 if a > b: max_num = a else: max_num = b Ternary operator를 사용하여 구현하면 조금 더 직관적으로 구현이 됩니다. # [true] if [expression] else [false] a, b = 100, 200 max_num = a if a > b else b Reference https://www.geeksforgeeks.org/data-types/ Ternary Operator in Python - GeeksforGeeks A Computer Science portal for geeks. It ..
-
Virtual Memory란?CS/면접준비 2022. 7. 18. 17:15
Virtual Memory란? OS에서 한정된 Memory(physical Memory)를 가상화시켜 더 효율적으로 사용하기 위해 나온 개념. 어떻게 가상화 시킨다는 것이 효율적일까? Program이 실행될 때에는 전체가 Memory에 있을 필요가 없고, 실행되는 부분만 Memory에 존재하면 된다. 이를 사용하여 Physical Memory에 더욱 더 많은 Program을 올릴 수 있는 것이다. 그렇다면 어떻게 실행될 위치를 아는 것일까? MMU(Memory Management Unit) 은 하드웨어 실제 Program별 Logical Memory를 통해 Phyiscal Memory를 변환하여 준다. 가상 메모리는 어떻게 관리되는가? Paging / Segmentation / Paging+segment..
-
Dynamic Programming이란?CS/면접준비 2022. 7. 18. 16:56
Dynamic Programming이란? 큰 문제를 작은 문제로 나누어 푸는 문제입니다. + 작은 문제가 중복되어 발생하는지 여부 및 작은 문제의 답이 동일 Devide&Conquer와 동일한 것이지 않는가? -> Devide&Conquer도 큰 문제를 작은 문제로 나누어 푸는 부분에서 동일합니다. 하지만 Devide&Conquer는 말 그대로 작은 문제로만 나누어서 풀 뿐 작은 문제가 중복해서 발생한다던지 하지 않습니다. Memoization 작은 문제가 중복으로 발생하다보니 동일한 연산을 중복으로 할 이유가 없습니다. 따라서 해당 문제의 답을 적어두는 것입니다. DP의 대표적인 예가 피보나치, ROD CUTTING(막대기 자르기) 등이 있습니다. 1,1,2,3,5,8 .... 은 다음 수열 = 이전 ..
-
[Postgres] - 1.Docker Volume init개발/Postgres 2022. 7. 18. 16:01
저번에 시간에 배운 Volume이라는 개념을 통하여 실제 Psql에 적용하여 보려고 합니다. 실제 Local 영역에 해당되는 Data들을 저장하여 container가 삭제된 후 실행되어도 이상이 없습니다. 앞써, Volume을 잘 모르시거나 이해가 잘 안되시면 참고하고 오시는게 도움이 됩니다. [Docker]-Volume Psql을 Volume을 만들어 반영 후 Container를 제거해본 다음에 다시 실행 시켜볼 것입니다. 1. Volume 생성 $ docker volume create psql 2. Psql 실행 및 User 생성 제 이름으로 된, User를 하나 만들어주었습니다. pw 자리에 원하시는 password를 입력하시면 됩니다. $ docker run -p 5432:5432 --name p..