[프로그래머스] lv3. 순위 (파이썬 Python)
·
알고리즘
순위 문제n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다.선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solution 함수를 작성해주세요. 입출력 예시 제한사항- 선수의 수는 1명 이상 100명 이하입니다.- 경기 결과는 1개 이상 4,500개 이하입니다.- results 배열 각 행 [A, B]는 A 선수가 B 선수..
[백준] 🥈10816번 숫자 카드2
·
알고리즘
10816번 문제숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다.셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, ..
[백준] 🏅1107번 리모콘(파이썬 Python)
·
알고리즘
1107번 문제 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오. 수빈이가 지금 보고 있는 채널은 100번이다. 입력 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난..
[RecSys] KGAT : Knowledge Graph Attention Network forRecommendation 논문 리뷰, 수식 설명
·
논문 리뷰
👩🏻‍💻 본 포스팅은 개인적 공부를 위해 논문 KGAT를 정리한 포스팅으로, 오류가 있을 수 있습니다. 이전에 포스팅했던 LightGCN은 GCN의 연장선으로, 사용자와 아이템 간의 연관성을 고려하는 가벼운 모델이었다. 그러나 우리 프로젝트가 가지고 있는 데이터와 목표로 하는 모델링은 유저와 유저 간의 연관성도 고려해야 했기에, 따라서 협업 필터링 + knowledge graph까지 합쳐진 하이브리드 모델을 알아봐야 하는 상황이었다. Background - CF(Collaborative Filtering) : 동일한 아이템에 관심 있는 비슷한 사용자에 집중한다. - SL(Supervised Learning) : 아이템 - 속성의 연관성에 집중한다. - KG(Knowledge Graph) : entity-..