일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- paper review
- Coursera
- 코딩테스트실력진단
- 파인튜닝
- 이분탐색
- 그래프이론
- Fine-Tuning
- 코딩테스트
- 프로그래머스
- LLM
- 플로이드와샬
- English
- 판다스
- Generative AI
- peft
- speaking
- 스터디
- Python
- bfs/dfs
- Lora
- DP
- 코드트리
- Scaling Laws
- 머신러닝
- 최단경로
- 데이터분석
- 파이썬
- 완전탐색
- 알고리즘
- Study
- Today
- Total
목록분류 전체보기 (99)
생각하는 아져씨
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bTOCSB/btrLFHfQPWR/BJ5zcmgs9cQ33fMiuUw4k1/img.jpg)
문제 오목은 바둑판에 검은 바둑알과 흰 바둑알을 교대로 놓아서 겨루는 게임이다. 바둑판에는 19개의 가로줄과 19개의 세로줄이 그려져 있는데 가로줄은 위에서부터 아래로 1번, 2번, ... ,19번의 번호가 붙고 세로줄은 왼쪽에서부터 오른쪽으로 1번, 2번, ... 19번의 번호가 붙는다. 위의 그림에서와 같이 같은 색의 바둑알이 연속적으로 다섯 알을 놓이면 그 색이 이기게 된다. 여기서 연속적이란 가로, 세로 또는 대각선 방향 모두를 뜻한다. 즉, 위의 그림은 검은색이 이긴 경우이다. 하지만 여섯 알 이상이 연속적으로 놓인 경우에는 이긴 것이 아니다. 입력으로 바둑판의 어떤 상태가 주어졌을 때, 검은색이 이겼는지, 흰색이 이겼는지 또는 아직 승부가 결정되지 않았는지를 판단하는 프로그램을 작성하시오. 단..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dGtpoS/btrK91Noylm/mDy3kBc2zS0BF1Zt9kl6i1/img.png)
2003년 논문으로 지금 최신 논문들을 나오게 한 흐름에 있는 논문입니다. 그때 당시 컴퓨팅 파워가 지금보다 좋지 않기 때문에 퀄리티 있는 실험은 진행하지 못했다고 합니다. 이 논문의 핵심은 실험 부분 보다 방법론이 중요하므로, 방법론 위주로 살펴보았습니다. 느낀점 저는 논문을 읽을 때 한번에 이해하자 보다는 먼저 1회독을 한 후에 그 다음부터 모르는 것을 살펴보면서 논문을 이해해야겠다 주의 입니다. 주로 2016년 이후의 최신 논문만 읽어오다가 2003년에 나온 논문을 읽으면서 느낀점은 제가 기초가 정말 부족하다는 것이었습니다. 내가 왜 최신 논문의 "어떤 부분"을 이해하지 못했는지 알았습니다. 그건 바로 기본기가 없었기 때문이죠...🤣 그래서 이 논문은 다시 한번 저의 NLP 지식 부족에 대한 경각심..
문제 서준이는 아빠로부터 N개의 회의를 모두 진행할 수 있는 최소 회의실 개수를 구하라는 미션을 받았다. 각 회의는 시작 시간과 끝나는 시간이 주어지고 한 회의실에서 동시에 두 개 이상의 회의가 진행될 수 없다. 단, 회의는 한번 시작되면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작 시간은 끝나는 시간보다 항상 작다. N이 너무 커서 괴로워 하는 우리 서준이를 도와주자. 입력 첫째 줄에 배열의 크기 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다. 시작 시간과 끝나는 시간은 231−1보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 최소 회의실 개수를 출력한다...
문제 수강신청의 마스터 김종혜 선생님에게 새로운 과제가 주어졌다. 김종혜 선생님한테는 Si에 시작해서 Ti에 끝나는 N개의 수업이 주어지는데, 최소의 강의실을 사용해서 모든 수업을 가능하게 해야 한다. 참고로, 수업이 끝난 직후에 다음 수업을 시작할 수 있다. (즉, Ti ≤ Sj 일 경우 i 수업과 j 수업은 같이 들을 수 있다.) 수강신청 대충한 게 찔리면, 선생님을 도와드리자! 입력 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 10^9) 출력 강의실의 개수를 출력하라. 🚦 문제 유형 Greedy 알고리즘 ✏️ Solution 문제 속 빨간색으로 표시된 부분에서 풀이방법에 대한 힌트를 얻을 수 있다. 먼저, 최소의..
파이썬 코딩테스트를 풀다보면 input을 받아야 하는 상황이 빈번한데, 대부분 이 2가지를 많이 쓴다. - input() : 입력의 개수가 많은 경우 동작 속도가 느려 시간 초과 발생 - 파이썬 sys 라이브러리에 정의되어 있는 함수: sys.stdin.readline() 보통 sys.stdin.readline이 속도가 빨라서 많이 쓰이는데, 문제를 풀다가 종종 헷갈려서 차이를 정리해보았다. 1. sys.stdin.readlines() - 여러 줄을 입력으로 받는다. (종료될 때 까지) - Ctrl+D 를 누르면 입력받기가 종료되고 다음 코드를 진행한다. import sys lines = sys.stdin.readlines() print(lines) >> 1 >> 2 >> 3 >> 4 # Press Ct..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bI30Z2/btrHjtTwqhD/bk5WwEqAN9GFLC7ALYgkoK/img.png)
문제는 다음과 같다. 🚦 문제 유형 - Graph Traversal (그래프 탐색) - DFS/BFS ✏️ Solution 제목에 DFS/BFS 가 명시된 문제로, 전형적인 DFS/BFS 알고리즘을 그대로 사용해 풀었다. from collections import deque import sys input = sys.stdin.readline n, m, v = map(int, input().split(' ')) graph = [[] for i in range(n+1)] for _ in range(m): f, s = map(int, input().split(' ')) graph[f].append(s) graph[s].append(f) visited = [False]*(n+1) visited2 = [False..