일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- S3
- pandas
- 코딩 테스트
- timestamp
- decorator
- sort v.s. sorted
- os.path
- functools.wraps
- CI/CD
- boto3
- selenium-wire
- reverse v.s. reversed
- 고차함수
- PIP
- [초급(예비) 개발자 오픈소스 실무 역량강화 교육]
- r-string
- ds_store
- Airflow
- slicing [::-1]
- sort(reverse=True) v.s. reverse
- blinker
- 순수함수
- 쿼리
- 생각
- 함수형 프로그래밍
- OS
- Today
- Total
목록Computer (100)
공부일지

약 한달 전부터 꾸준히 코딩 테스트를 풀고 있다.최근에 solved.ac의 CLASS 기능을 추천받아서게임 티어 올리듯이 실력을 재밌게 올려보려고 한다.(이전에는 문제집 -> 단계별 풀기 이용했었음.) 백준 solved.ac 이용하는 법 참고https://letsstudylog.tistory.com/146 [코딩테스트] 백준 solved.ac 이용하기백준에는 어떤 사용자분이 만드신 solved.ac라는 유용한 사이트에 연동할 수 있다.문제의 난이도와 유저의 티어를 보며 성장하는 동력이 될 수 있다.(처음 써봤을 때 롤 전적 검색 사이트로 유명한letsstudylog.tistory.com 클래스 사용 방법 위치solved.ac -> 문제 -> CLASS 클래스 1에서 내 개인적인 목표(단계별 풀기..

참고링크https://help.openai.com/en/articles/10303002-how-does-memory-use-past-conversations 'Reference Chat History' 이 기능을 쓰면 과거의 모든 Chat History가 이 모델에 반영돼 대답을 더 잘해줄 수 있다고 한다.'You are always in control of what ChatGPT knows about you.'라는 말로 GPT가 나에 대한 정보를 어느 정도 쓸지를 조절할 수 있다고 한다. 즉 우리가 설정에서 어떻게 할지 조정해놓으면 된다는 뜻, GPT가 참고하지 않았으면 하는 대화는 지울 수도 있다. 이 메모리 기능을 사용하지 않고(나에 대해 아무것도 모르는 ChatGPT와 대화하려면) 'Tem..
방송통신대학교에서 제공하는 '실무에 바로 쓰는 생성 AI 활용 실습' 강의를 수강하고 필요한 내용을 요약했다. 생성 AI와 프롬프트 엔지니어링 효율적인 프롬프트 작성1 처음만난 사이: 얻고자 하는 답을 위해 질문의 의도와 목적을 명확하게 전달2 주제와 내용을 자세하게 이야기 하기: 내가 알려주는만큼 알 수 있으며 상황과 맥락 지정 가능3 듣고 싶은 대답의 형태와 길이 정하기: 서술식, 개조식, 형태표, 코드, 마크다운 300자, 3줄 요약(형식이나 절차)4 대화의 문맥을 이해: 이전의 대화를 기억, 새로운 대화창은 새롭게, 레퍼런스 예시 제시*새로운 맥락을 원하면 새 대화창을 열어서 쓰기좋은 답변을 얻기 위한 좋은 질문의 형식(예시)역할컴퓨터과학과 교수대상대학원생, 비전공 개발자정보시험 범위, 진도 파..

백준 문제 다른 분 풀이를 참고하는 중에 이진 탐색을 이용해서 푸는 법을 알게 됐다.(백준 문제 참고 링크: https://www.acmicpc.net/problem/2292)이진 탐색 관련 코드def fn(t): ... def solve(n): result = 0 l, r = 0, 100000 while l > 1 if fn(mid) >= n: result = mid r = mid - 1 else: l = mid + 1 return result + 1 이진 탐색 알고리즘이 중요한 부분이라 fn 함수에 대해서는 자세한 내용은 생략한다. mid = (l + r) >> 1중간에..

백준 문제를 풀다가 변수 matrix(행렬, 2차원 배열)가 값이 이상하게 할당되는 것을 조사식을 통해 확인했다.matrix1 과 matrix2의 원소를 합치는 함수를 짰는데matrix 내에 배열의 값이 똑같이 들어가는 것이다. (아래 캡처 및 코드 참고)(백준문제 참고 링크: https://www.acmicpc.net/problem/2738) def add_matix_elements(n, matrix1, matrix2): matrix = [[0]*n] * n for i in range(n): for j in range(n): matrix[i][j] = matrix1[i][j] + matrix2[i][j] return matrix 이유는 얕은 복사 때문이..

BFS, DFS 구현할 때 헷갈리던 부분 총정리!갑니다~사전지식1. 알고리즘 BFS, DFS 개념2. 자료구조 스택, 큐 개념3. 알고리즘 재귀 개념 중요 차이점BFS - 1. 반복문만(큐)DFS - 1. 반복문(스택) 2. 재귀함수 입력 자료구조1. 인접행렬2. 인접리스트(코딩 테스트에서 많이 씀) 목차0. 입력 예시1. BFS 구현2. DFS 구현3. 인접행렬보다 인접리스트를 많이 쓰는 이유4. 결론 입력예시# 그래프 예시. 간단한 무방향 그래프 0 / \ 1 2 \ / 3 # 간선 목록(0, 1), (0, 2), (1, 3), (2, 3) 입력 자료구조# 인접 행렬adj_matrix = [ [0, 1, 1, 0], # 0번 노드는 1, 2와 연결 ..
BFS 구현방식이 다양해서 차이를 알아보도록 하자. 사전지식1. DFS, BFS 의 개념2. DFS, BFS 의 자료구조(인접행렬, 인접리스트)3. 시간 복잡도 목차1. [Bool] 방식과 [node] 방식의 차이점2. visited 배열 쓸 때와 result 배열만 쓸 때의 차이점 사실 1번 2번은 같은 내용이다.살펴보자. 1. [Bool] 방식과 [Node] 방식의 차이점편의상 구분방식예시의미[Bool] 방식visited = [False] * Nvisited[node] = True빠른 방문 체크를 위해 사용[Node] 방식if node in result:result.append(node)방문 여부를 결과 저장을 겸해서 체크 1️⃣ visited = [False] * N (Bool 리스트)✅ 장점빠르..
계산기를 만들면서 다양한 사칙연산 프로그래밍을 위한 방법을 정리해보고자 한다.여러 숫자에 대해 적용하는 방법이며, 첫 번째 숫자에 대해 나머지 숫자들이 하나의 연산으로 누적계산되고 최종으로 1개의 값을 반환하는 법이다. 덧셈# 함수명 참고: add_all 할건데 간단히 add로 지음.# sol0: 연산자 +, for-loopdef add(operands): total = 0 for i in operands: total += i return total# sol1: 내장함수 sumdef add(operands): return sum(operands)# sol2: itertools.accumulateimport itertoolsdef add(operands): return ite..
알고리즘 테스트 시간을 잴 때 time을 이용했는데 timeit이라는 모듈을 알게 됐다.둘 다 실행 시간을 재는 목적이긴 한데, 정확도와 사용 목적이 다르다한다. time vs timeit 비교시작!⏱️ 1. time 모듈장점간단하게 한 번만 실행해서 시간 측정 가능디버깅할 때 빠르게 쓸 수 있음사람이 직접 코드 블록을 지정해서 원하는 부분만 측정 가능단점짧은 코드일수록 정확하지 않음 (ms 단위 이하는 부정확)백그라운드 잡음(예: OS task scheduler)에 영향 많이 받음반복 실행 없이 단발성이라 변동성 큼 ⏱️ 2. timeit 모듈장점여러 번 반복해서 평균 시간 측정 (기본 100만 번)실행 환경 노이즈를 줄여서 훨씬 정밀알고리즘 미세 성능 비교에 적합 (예: A 방식 vs B 방식)단점코..

정렬 문제를 푸는데 푸는 방법을 찾아보던 중 다양한 자료구조를 활용할 수 있는 걸 알게됐다. 목차1. 정렬할 때 쓰는 자료구조(더 있을 수 있음.)2. 쓰고 느낀 장단점(+ GPT 추가 설명)아래 나열한 방식 중 실제로 써본건 namedtuple과 struct이다.참고용으로 다 묶어서 올려본다.# tuple# tuple 그대로 쓰면 됨print("Tuple 방식:")for s in students: print(s)# namedtuplefrom collections import namedtuplestudent = namedtuple('student', ['id', 'math', 'comp'])s = student(1, 90, 80)print(s.id, s.math, s.comp)# structimpo..