python 9

[프로그래머스] 방금그곡

1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/17683?language=python32. 알고리즘더보기1. 시간계산 함수 구현 후 함수 시간 만큼 곡 늘리기2. #을 사용하는 경우 소문자로 치환하기3. 재생시간이 긴순, 음악 제목의 알파벳 순으로 정렬4. 입력한 음악중에 맞는 값 출력 3. 코드def time_cal(enter, out): in_hour, in_minute = map(int, enter.split(':')) out_hour, out_minute = map(int, out.split(':')) min_gap = out_minute - in_minute hour_gap = out_hour - in_hou..

Algorithm 2026.01.19

[프로그래머스] 주차 요금 계산

1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 알고리즘더보기1. 시뮬레이션 문제로 자료구조를 잘 이용하여 사용2. 출차 입차 기록 records를 string을 space 기준 파싱 3. 차량번호 기준 오름차순으로 값을 반환해야 하므로 정렬 (기본적으로 records가 출입차 기록이 오름차순으로 됨)4. 차량 번호당 얼마나 있었는지 총합 계산이 필요하여 dict에 저장 5. dict에 출입차 기록 조회 하는 과정에 출차 기록이 없는경우 23:59 추가6. 시간 계산하여 fees 조회 ..

Algorithm 2026.01.11

[프로그래머스] 미로 탈출

1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/159993# 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 알고리즘더보기1. 해당 글은 최단 거리를 찾아야 하므로 bfs가 적합2. 지도의 조건이 중요한데, X를 제외한 모든 칸은 다 여러번 지나다닐 수 있다3. 먼저 시작지점, 출구, 레버의 위치를 저장한다4. 시작 - 레버위치의 최단거리를 구한다 5. 모든 통로는 X를 제외하고 지나 다닐 수 있으므로, 레버까지의 최소이동 거리를 제외하고 지나온 경로를 초기화 시킨다 6. 레버의 위치 - 출구까지의 최단거리를 구한다7. 출구의 위치에 저장된..

Algorithm 2026.01.10

[프로그래머스] 베스트앨범

1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42579?language=python3# 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해당 문제를 풀때 주의해야할 점은 다음과 같다1. 장르별 곡을 분류 해야함 -> dict 사용 (key: genres / value: plays)2. 많이 재생된 순으로 정렬 -> 내림차순이므로 reverse=True3. 장르내 플레이수가 같은 경우 더 낮은 고유번호가 먼저 오도록 설정 -> 이미 식별된 경우 마킹이 필요함 2. 알고리즘 1) 장르별 곡 플레이 수를 dict에 저장한다2) dict 에 저장할때..

Algorithm 2026.01.03

[Docker] 도커 환경에서 서비스 띄우기

1.  구조  django로 웹 애플리케이션을 개발하고 나서 nginx web 서버를 사용하여 동작할 수 있도록 구성한다 이때 각각 도커 컨테이너로 구성 되어 있으며 nginx 서버의 경우 https로 변경해준다   목록버전1python3.82nginx -- https적용 3docker 4docker-compose   2-(1). dockerfile -- for django web application# 베이스 이미지로 Python 3.8 사용FROM python:3.8-slim# 작업 디렉토리 설정WORKDIR /app# 필수 시스템 의존성 설치RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ libpq-dev ..

Back-end/Docker 2025.01.02

[백준 2531] 회전 초밥

문제설명 https://www.acmicpc.net/problem/2531 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net 알고리즘 이번 문제는 단순하게 반복문으로 결과를 구해낼 수 있다 하지만 시간 제약이 있기 때문에 sliding window를 사용해야한다 k개를 확인해서 초밥의 갯수를 세기때문에 1칸씩 옮겨가며 연산한다 이때 모든 초밥을 다 다시세면 반드시 시간초과가 발생하기 때문에, 새로 추가되는 초밥만 세고 먹을 수 없는 초밥은 빼는 것이 문제의 해결 방식이다 ..

Algorithm 2024.01.28

[CSV to JSON] 공공데이터 자료 변환 후 mongoDB에 넣기

1. 문제점이번 프로젝트에서 공공데이터를 활용해서 DB에 넣을 필요가 있었다이때 주어진 csv 파일이 문제가 있었는데, 정규화가 하나도 안된 상태였다사용한 공공데이터는 아래 링크에서 볼 수 있다https://www.data.go.kr/data/3038404/fileData.do?recommendDataYn=Y  한국산업인력공단_국가기술자격 종목별 시험정보_20220620국가기술자격의 종목별 시험정보(종목명, 개요, 변쳔과정, 수행직무, 진로 및 전망, 취득방법)에 대한 데이터입니다.www.data.go.kr우선 엑셀로 파일을 열어서 확인해봤는데 아래와 같았다Column이 3개로만 나누어져있었으며 type이라고 정의한 곳에는 사실 column으로 가야하고 contents는 각 컬럼에 맞게 내용으로 가야한다..

ETC 2022.07.30

[Socket] Socket 통신

Socket with Python Socket을 사용하게 된 이유 프로젝트를 진행하면서 컴퓨터 1대에는 감정인식, 다른 한대에는 답변 생성기로 부득이하게 나누어 진행했다. 기존에는 답변생성기에 웹 서버를 구현해서 만들었었는데, 감정인식을 하는 본래 우리 컴퓨터에 웹서버를 만들기 위해서 socket통신 방식을 선택했다. python Socket 사용 법 server.py import socket host = "127.0.0.1" #서버 ip주소 port = 8080 # 서버 포트 soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #tcp방식으로 연결 soc.bind((host, port)) soc.listen(5) #5개 까지 연결 가능 while(True..

ETC 2021.07.28

[SERVER] FLASK

flaskflask 사용 이유검색을 해보니 django보다 조금 더 가벼운 형태로 사용할 수 있다고 해서 선택하게 되었다.실제로 사용해보니 문법도 파이썬이라서 간편하고 라우팅 하는 부분만 이해하면 간편하게 쓸 수 있었다.개발 하는 내용감정인식 기반의 답변 출력 챗봇 웹 형태로 제작 및 UX/UI 적용> flask 코드import osimport jsonimport numpy as npimport torchfrom dialogLM.model.kogpt2 import DialogKoGPT2from kogpt2_transformers import get_kogpt2_tokenizerfrom flask import Flask,request,Response,render_templatearr=[]app=Flask(..

ETC 2021.07.28