All

Algorithm/Programmers

프로그래머스 LV0 한 번만 등장한 문자

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120896 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 주어진 문자열 s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자를 반환하는 문제이다. 파이썬에서는 몇 번 등장했는지 체크해주는 Counter가 존재한다. Counter함수는 collections 라이브러리에 속해 있기 때문에 이를 불러와서 사용한다. from collections import Counter def solution(s): s = Counter(s) answer =..

Algorithm/Programmers

프로그래머스 LV0 날짜 비교하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/181838 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 두 개의 날짜가 주어지고 그 날짜를 비교하여 1 또는 0을 반환하는 문제이다. 날짜, 시간, 특정 묶음 단위가 나오고 비교하는 문제는 항상 주어진 최소 단위로 단위를 통일한 뒤 비교한다면 문제를 쉽게 풀 수 있다. def solution(date1, date2): date1 = translate_date(date1) date2 = translate_date(date2) return 1..

Algorithm/Programmers

프로그래머스 LV0 암호해독

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120892 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 각 문자열과 코드가 주어질 때 코드만큼의 간격의 문자만 골라서 반환한 문자들의 집합을 구하는 문제이다. 해당 문제는 파이썬의 리스트 슬라이싱을 잘 활용하면 되는데 list[a:b:c]가 주어지면 a 에서 b - 1 까지 c 간격으로 리스트를 슬라이싱 하는 것을 기억해두면 문제를 쉽게 풀 수 있다. def solution(cipher, code): answer = [element for..

Algorithm/Programmers

프로그래머스 LV0 인덱스 바꾸기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열과 두 인덱스가 주어질 때, 2개의 인덱스 위치 값에 있는 문자를 바꾸면 되는 문제이다. "아 그냥 문자열 인덱스에 접근해서 값을 변경하면 되니까 a[0], a[1] = a[1], a[0] 하면 되겠네?" 라고 생각 할 수도 있다. 하지만 파이썬 문자열 자료형은 immutable type즉 수정이 불가능한 자료형이다. 따라서 이런 문자열을 바꾸기 위해서는 replace나 list..

Algorithm/Programmers

프로그래머스 LV0 배열 회전시키기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120844# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열과 방향이 주어지고, 방향에 따라 배열을 회전하면 되는 문제이다. 풀기 위한 방법은 2가지가 떠올랐다. 1. 방향에 따라 list.pop과 append을 시용하여 회전을 처리한다. 2. deque을 불러와서 rotate() 함수를 이용한다. 그 중에서 2번째를 선택하여 문제를 풀었다. from collections import deque def deque_direction(num..

Cloud/Docker

docker compose로 django, nginx 연결하기

이번에는 docker compose을 통해 nginx와 django 프로젝트를 연결한다. 🐳 docker-compose.yaml version: "3.9" services: db: image: postgres ports: - "5432:5432" volumes: - ./data:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=postgres backend: build: backend/. command: gunicorn config.wsgi:application --bind 0.0.0.0:8000 ports: - "8000:8000" volumes: - ./backend:/app - static_volume:/app/static - media_volu..

Computer Theory/Web

웹 서버와 WAS (Nginx와 Gunicorn)

django 프로젝트를 하다 보면, gunicorn과 nginx로 배포하는 경우가 흔하다. 하지만 강의나 여러 글만 따라가면서 프로젝트를 진행했기에 gunicorn과 nginx에 대한 개념이 뚜렷하지 않다. 따라서 이에 대한 개념을 잡아보고자 한다. Nginx Nginx에 알아보기 전 웹서버와 WAS에 대해서 짚고 넘어가자. https://www.youtube.com/watch?v=Zimhvf2B7Es&t=659s 해당 내용을 듣고 간단히 정리해 보자 - 웹서버: 웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 콘텐츠를 제공하는 프로그램을 의미한다. 대표적으로는 Apache와 Nginx가 있다. - WAS(Web Application Server): DB조회나 다양한 로직 처리를 요구하는 동적인..

Cloud/Docker

docker compose을 이용하여 django, postgres 연결하기

일단 해당 작업을 하기 전에 현재 나의 폴더 구성을 보여주자면 아래와 같이 되어 있다. backend 폴더는 django 프로젝트로 되어 있고 이를 이미지로 빌드하기 위해서 backend안에 Dockerfile 생성하여 만들었다. 🐳 Dockerfile FROM python:3.9 WORKDIR /app COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD [ "python", "manage.py", "runserver", "0.0.0.0:8000" ] 📄 requirements.txt ... ... ... psycopg2 여기서 psycopg2 라이브러리는 python에서 postgreSQL을 사용..

Programing Language/Python

openpyxl로 엑셀 데이터 다루기

Openpyxl 공식 문서 : https://openpyxl.readthedocs.io/en/stable/index.html openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.1.2 documentation 1. Please join the group and create a branch (https://foss.heptapod.net/openpyxl/openpyxl/) and follow the Merge Request Start Guide. for each independent feature, don’t try to fix all problems at the same time, it’s easier for ..

JHeaon
'분류 전체보기' 카테고리의 글 목록 (11 Page)