
https://www.acmicpc.net/problem/1309 풀면서 어려웠던 점1. DP 테이블을 만들면서 사자를 한마리도 배치하지 않는 경우를 생각해내기 힘들었다.2. 메모리 초과 DP 테이블에서 한마리도 배치않는 경우 0, 1에 배치할 경우 1, 2에 배치할 경우 2로 정한 후에 풀게되면 수월하게 풀 수 있었다.그리고 int 형은 4Byte라 문제가 없어보이는데 왜 메모리 초과가 발생하는지에 대해 의문이다. 혹시라도 지나가다가 명확히 아시는 분이 있으면 댓글을 부탁드립니다. ㅜ.ㅜ N이 100,000이 최대이니까 300,000 개의 int가 있고 이는 1,200,000 byte이고 1.2M 정도 밖에 안되지만 무슨 이유일까... 아무튼 dp를 계산해줄 때 9901을 나눈 나머지를 사용하면 된다..
langchain에서 제공하는 cache 기능을 사용하여 질의 응답을 캐싱하였으나 내부적으로 어떻게 동작하는지 궁금해서 찾아보았다. 먼저 chat_models.py의 _agenerate_with_cache 메소드가 실행이 된다. 그 안에 아래의 함수가 호출이 되면서 cache에 같은 데이터가 있는지 찾는다.cache_val = await llm_cache.alookup(prompt, llm_string) #chat_models.pyasync def _agenerate_with_cache( self, messages: List[BaseMessage], stop: Optional[List[str]] = None, run_manager: Optional[AsyncCallbackManage..
문제를 풀었지만 정말 복잡하게 풀었다... 그리고 메모리 초과가 나서 코드를 살펴보니 del의 경우 O(N)이기 떄문에 for 문과 함께 전체적으로 O(N^2) 이기 때문에 효율적이지 못한 코드이다. 요새 코딩테스트를 보면서 메모리 효율적으로 사용해야하는 코드가 필요하다는 것을 절실히 느낀다.import syss = list(sys.stdin.readline())n = int(sys.stdin.readline())c_idx = len(s)for _ in range(n): input_ = list(map(str, sys.stdin.readline().split())) if input_[0] == "L": # 왼쪽 if c_idx == 0: # 커서가 맨 왼쪽에 있다면 ..
알고리즘을 풀다보면 sort를 사용하는 순간이 있다. 이때 단순히 오름차순 내림차순만 하다가 막히는 부분이 있었다.아래와 같이 on, oon인 경우 앞에 글자는 o로 동일하기 때문에 그다음 정렬 순서는 어떻게 하는지 의문이 들었다.aekjoonbaekjoonekjoonjoonkjoonnonoon ChatGPT한테 물어본 결과 기본적으로 사전식 정렬을 따르고 첫글자를 비교하고 다음 글자를 비교한다고 한다. o가 같으니 그 다음에 n과 o를 비교하는 것이다. 그 외에 다음과 같은 규칙이 있다. 1) 대문자가 항상 소문자보다 먼저 온다.2) 숫자는 항상 문자 앞에 온다.기본적이지만 놓질 수 있는 부분이므로 암기하자.
- Total
- Today
- Yesterday
- java
- t-test
- 리눅스
- Ai
- 정보보안
- huggingface
- 분산시스템
- 프로그래머스
- 보안
- 우선순위큐
- 정보보안기사
- FastAPI
- 카카오페이면접후기
- 보안기사
- LangChain
- 카카오페이
- 코딩테스트
- 시간초과
- 백준
- linux
- Python
- 다이나믹프로그래밍
- lightsail
- 자료구조
- synflooding
- llm
- 그리디
- 딥러닝
- springboot
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |