| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 동적 프로그래밍
- Deque
- 우선순위 큐
- 추천시스템
- bfs
- find()
- isdigit()
- isalnum()
- 자료구조
- explainable recommendation
- Knowledge graph
- LSTM
- Stack
- Dynamic Programming
- kg
- 파이썬
- Recommendation
- 정렬
- knowledge
- 프로그래머스
- 그래프
- isalpha()
- Python
- 알고리즘
- 그래프 탐색
- DP
- Algorithm
- isnumeric()
- 백준
- 코테
- Today
- Total
목록분류 전체보기 (101)
데린이 고인물되기
소수는 1과 자기 자신만을 약수로 가지는 수입니다. 코딩 테스트에서 자주 등장하는 개념이라, 소수를 판별하는 알고리즘은 꼭 알고 계시는 것이 좋습니다. 이번 글에서는 Python으로 소수를 판별하는 방법 중 대표적인 두 가지를 소개드리도록 하겠습니다. 1. 기본 소수 판별법 (완전탐색 방식)가장 단순하게 먼저 떠올릴 수 있는 방법은 2부터 n-1까지 전부 나누어보는 것입니다. 만약 하나라도 나누어떨어지면 소수가 아니고, 그렇지 않으면 소수로 판단하는거죠.def is_prime(n): if n ⚠️ 단점이 방법은 아주 단순하지만, 검사 횟수가 많아 수가 커질수록 비효율적입니다.예를 들어 10000이 소수인지 판단하려면 2부터 9999까지 모두 나누어봐야 하므로 시간이 오래 걸립니다.그래서 사용할 수..
문제 설명명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다.아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다.명함 번호가로 길이세로 길이16050230703603048040 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기는 4000(=80..
문제 설명운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다.1. 실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅니다.2. 큐에 대기중인 프로세스 중 우선순위가 더 높은 프로세스가 있다면 방금 꺼낸 프로세스를 다시 큐에 넣습니다.3. 만약 그런 프로세스가 없다면 방금 꺼낸 프로세스를 실행합니다. 3.1 한 번 실행한 프로세스는 다시 큐에 넣지 않고 그대로 종료됩니다.예를 들어 프로세스 4개 [A, B, C, D]가 순서대로 실행 대기 큐에 들어있고, 우선순위가 [2, 1, 3, 2]라면 [C, D, A, B] 순으로 실행하게 됩니다.현재 실행 ..
알고리즘 공부를 하면서 백준, 프로그래머스, 코드트리 많이들 사용하실텐데요, 저도 그러합니다.백준이랑 프로그래머스는 '백준 허브'라는 크롬 익스텐션을 사용해서 문제를 풀면 GitHub에 자동으로 업로드가 되도록 연동을 해두고 관리를 하고 있습니다. (백준 허브 사용법은 구글에 검색하면 쉽게 다양한 블로그 글을 참고하실 수 있으니 넘어가도록 하겠습니다) ‘백준 허브’를 이용하면 위 사진처럼 백준과 프로그래머스 폴더가 자동으로 생성되며, 각 플랫폼에서 푼 문제가 해당 폴더에 정리되는 방식으로 연동됩니다. 최근에는 코드트리도 함께 사용하게 되면서 코드트리에서 제공하는 GitHub 연동 기능도 추가로 설정해두었습니다.이는 우측 상단의 My 버튼을 클릭한 후 ‘GitHub에 학습 기록 남기기’ 버튼을 통해 간단히..
behavior graph에서 meta path에 따라 프롬프트 뽑아서 이걸 중요도 계산을 하고, 순서에 따라 robust하게도 해서 추천에 기여시키는 방식인데 이걸 kg 관련 방식에 어떻게 잘 녹여낼 수 있을 것 같아서 정리를 해봐야겟따 싶다
더보기keywords : prompt learning, language model, system cold-start recommendation problem, user profileVenue : arXiv'23논문 선정 이유 : language model이나 kg를 이용한 user profile 관련 논문을 찾다가 발견한 논문.논문 리뷰용은 아니고 인사이트를 얻기 위해 읽어보는 중이라 메소드까지만 정리했습니다.인사이트 : system cold start proplem을 해결하기 위해 제안한 방법이라고는 주장하지만, 다른 user profile 및 item profile을 만들어서 추천에 활용하는 논문과의 차별점을 모르겠다. 그나마 차별점이 있다면 item name을 예측하는게 아니라 감정 단어를 예측하는..
1. 대수구조(1) 대수구조수 뿐 아니라 수를 대신할 수 있는 모든 것을 대상으로 하는 집합과 그 집합에 부여된 연산이 여러 가지 공리로써 엮인 수학적 대상간단히 일련의 연산들이 주어진 집합을 대수구조라고 함(2) 여러 대수구조반군 : 집합과 그 위의 결합법칙 을 따르는 하나의 이항 연산을 갖춘 대수구조(이항연산 : 두 개의 원소를 입력으로 받아 하나의 원소를 출력하는 연산)ex. $ (\mathbb{R},\star) \rightarrow (집합,연산)$ 을 의미$ x,y \in \mathbb{R} , x \star y = 0 $ 이라고 하자.이때 $ \begin{matrix}(1 \star 2)\star 3 = 0 \star 3 = 0 \\[1em] 1\star (2\star 3) = 1 \star 0..
바킹독님의 BFS 강의를 참고해 파이썬 버전으로 정리했습니다. 원래 깃허브에 private으로 정리를 했는데, 앞으로는 티스토리에 정리를 해보려 합니다. BFS : Queue(큐)로 구현BFS(Breadth-First Search:너비 우선 탐색)1. BFS란?BFS는 그래프 탐색 알고리즘 중 하나로, 너비(횡적) 방향으로 탐색을 진행하는 방식임가장 가까운 노드부터 차례로 탐색한 후, 다음 단계의 노드를 탐색함최단 경로 탐색에 적합하며, 동일 레벨의 노드를 먼저 탐색하는 특징을 가짐2. BFS 동작 과정시작 노드를 큐에 저장큐의 맨 앞 값을 꺼냄 (Dequeue)현재 노드에서 수행해야 할 연산 수행현재 노드와 연결된 인접 노드 중 방문하지 않은 노드를 큐에 저장탐색이 끝난 노드는 큐에서 제거큐가 빌 때까..
1. 벡터와 좌표계(1) 평면 벡터$ R^2 $에서 크기(스칼라)와 방향의 의미를 모두 포함하는 표현 도구벡터는 시작점은 중요하지 않음. 크기와 방향이 동일하면 동일한 벡터로 봄벡터 $ v $와 같은 벡터는?$ v $와 뱡향과 크기가 같은 벡터인 $ d $. 벡터의 시작점은 중요하지 않음$ v = (1,2), d = (-1-(-2), 3-1) = (1,2) $(2) 공간 벡터$ R^3 $에서 크기(스칼라)와 방향의 의미를 모두 포함하는 표현 도구(3) n차원 벡터$ R^n $상의 벡터 $ v = (v_1, v_2, \cdots, v_n) = \overrightarrow{AB} = (b_1 - a_1, b_2 - a_2, \cdots, b_n - a_n)$영벡터 $ \overrightarrow0 = (0,..