[LeetCode] 178. Rank Scores
·
코딩테스트/MySQL
🔗 Problem Linkhttps://leetcode.com/problems/rank-scores/description/❔Thinkingid와 score가 적힌 테이블에서, score가 높은 순서대로 순위를 매겨 반환한다.동점자는 동일한 순위를 부여하고, 순위에 간격은 없도록 한다.💻Solution1. Dense_Rank 함수 사용SELECT score, DENSE_RANK() OVER (ORDER BY score DESC) AS 'rank'FROM Scores 2. 함수 없이 구현자신보다 높은 점수의 개수를 순위로 활용한다.DISTINCT는 동일한 점수를 한번만 세도록 한다.scores 테이블이 커질수록 성능이 저하된다.SELECT s1.score, (SELECT COUNT(DISTINCT ..
[Baekjoon] 1013. Contact
·
코딩테스트/Python
🔗 Problem Linkhttps://www.acmicpc.net/problem/1013❔Thinking주어진 패턴 "(100+1+ | 01)+"과 일치하는 문자열인 경우 "YES", 아니라면 "NO"를 반환한다.💻Solutionimport reimport sysinput = sys.stdin.readlineT = int(input().rstrip())r = re.compile("(100+1+|01)+")for _ in range(T): pattern = input().rstrip() if r.fullmatch(pattern): print('YES') else: print('NO')🗝️keypointre로 compile하면, r을 해당 패턴을 검색하는데 활..
[LeetCode] 643. Maximum Average Subarray I
·
코딩테스트/Python
🔗 Problem Linkhttps://leetcode.com/problems/maximum-average-subarray-i/description/❔Thinking숫자 배열 nums와 k가 주어질 때, k개의 연속된 부분 수열 중 가장 큰 평균을 반환한다.💻Solution1. 평균으로 비교하기def findMaxAverage(self, nums: List[int], k: int) -> float: max_avg = -(10**4 * 10**5 + 1) left, right = 0, 0 window_sum = 0 while right 0 else -(-window_sum / k)) window_sum -= nums[left] left = ..
[LangChain] 모델 파라미터 설정
·
ML_DL/MUJAKJUNG (무작정 시리즈)
모델의 파라미터temperature :  0과 1사이의 값, 낮을수록 예측 가능한 답, 높을수록 창의적인 답max_tokens : 출력하는 token의 수를 지정top_p : 누적 확률 분포에 따라서, 다음 토큰의 후보를 선택 (0.8이면 확률의 합이 80%이 되도록 후보 선택)stop : 출력이 멈추는 특정 단어나 구절 설정파라미터 지정 방법모델 정의 시 설정from langchain_openai import OpenAIparams = { "temperature": 0.8, "top_p": 1.0, "max_tokens": 300,}kwargs = { "stop": ["있다."]}llm = OpenAI(model="gpt-3.5-turbo-instruct", **params, mo..
[LeetCode] 283. Move Zeroes
·
코딩테스트/Python
🔗 Problem Linkhttps://leetcode.com/problems/move-zeroes/description/❔Thinking숫자 배열 nums가 주어지면, 0을 오른쪽으로 옮기면서 다른 숫자의 순서는 유지해야 한다.새로운 배열을 생성하지 않아야 하기 때문에, 값을 swap하는 방식을 택한다.💻Solution1. 0이 아닌 숫자의 인덱스를 찾는 방식def moveZeroes(self, nums: List[int]) -> None: for i in range(len(nums)): if nums[i] == 0: flag = False non_zero_idx = i while non_zero_idx   2. 투 포인터..
[LangChain] 챗봇 구성하기
·
ML_DL/MUJAKJUNG (무작정 시리즈)
[LangChain] 시작하기LangChain 이란?LLM을 활용한 어플리케이션 개발을 위한 오픈소스 프레임워크DB, File System 지원LangChain 설치가상환경 설정conda create -n langchain python=3.11langchain 설치pip install -U langchainopenai 설치pip installswwho.tistory.com 프로젝트 파일 구조chatbot_project/├── .env # 환경변수 저장├── main.py # 챗봇 실행 스크립트├── chatbot/│ ├── config.py # 환경변수 로드 및 설정│ ├── llm_chain.py # L..