일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 깃허브 #우분투 #ubuntu #Github #깃허브 우분투 #깃헙 우분투 #깃헙
- docker #우분투 #ubuntu #도커 설치 #docker 설치 #docker installation #우분투 도커
- 트랜스포머 #transformer #attention #self-attention #어텐션 #인공지능 #AI #딥러닝 #NLP #자연어처리
- pytorch #cuda #우분투 torch #ubuntu pytorch #cuda torch #cuda pytorch
- 구름자연어처리과정
- docker #아나콘다 #anaconda #ubuntu anaconda #docker anaconda
- 구름
- docker #cuda #docker container #도커 #도커 컨테이너 #쿠다 #cuda 11.3
- docker #도커 #도커 컨테이너 #docker container #도커 우분투
- jupyter notebook #anaconda #vscode #pytorch #딥러닝 #deep learning #vscode server #서버 vscode #ssh vscode #vscode cuda
- Machine Learning
- 백준 #알고리즘 #골드
- cuda #centos #cuda삭제 #리눅스 #cenos cuda삭제
- 머신러닝
- 파이썬 #Python
- logistic regression
- GPU #cuda out of memory #gpu 메모리 #pytorch
- 알고리즘 #levenshtein distance #편집거리 #edit distance
- 트랜스포머 #자연어처리 #딥러닝 #구글 #attention #self-attention #BERT #transformer #deeplearing
- 백준
- pandas #folium #groupby #네이버부스트코스 #코칭스터디
- BERT #구글BERT #BERT의정석
- GPU #jtorch GPU #파이토치 병렬 #파이토치 GPU #pytorch gpu #multi process torch #horovod
- ssh #우분투 ssh #우분터 서버 #도커 #우분투 도커 #docker #cuda #우분투 개발환경 #딥러닝 #ubuntu docker #ubuntu cuda
- Today
- Total
목록Algorithm (58)
바닥부터 시작하는 개발 공부
문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 단순 정렬하는 문제 sorted함수를 활용해 다중 조건 정렬을 시행한다 import sys N= int(sys.stdin.readline().strip()) points = [] for i in range(N): point = list(ma..
문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, 10,0..
import sys from collections import deque N = int(sys.stdin.readline().strip()) for i in range(N): brakets = sys.stdin.readline().strip() brakets = deque([i for i in brakets]) if len(brakets)%2!=0: print("NO") else: cnt_bra =0 cnt_ket =0 while brakets: if cnt_ket > cnt_bra: break else: braket= brakets.popleft() if braket=="(": cnt_bra+=1 else: cnt_ket+=1 if cnt_bra == cnt_ket: print("YES") else: ..
import sys from collections import deque N = int(sys.stdin.readline().strip()) nums = deque([i for i in range(1,N+1)]) while len(nums)>1: nums.popleft() num=nums.popleft() nums.append(num) print(nums[0]) 숫자 N을 입력받으면 1~N까지의 카드 뭉치를 받는다고 하자 가장 빠른 카드를 (처음에는 1) 카드 뭉치에서 제외하고 그 다음 카드(2)를 카드 뭉치의 맨 뒤로 보낸다 카드 한장이 남을 때까지 이를 반복하고 출력하는 문제 deque 자료형의 popleft와 append를 활용하여 해결 while len(nums)>1: nums =nums[1:-1..
import sys N = int(sys.stdin.readline().strip()) lst =[] for i in range(N): age, name = sys.stdin.readline().strip().split(" ") lst.append([i,int(age),name]) lst = sorted(lst, key= lambda x: (x[1],x[0])) for i in range(N): print(f"{lst[i][1]} {lst[i][2]}") input으로 나이와 이름을 받아 정렬하여 출력하는 문제 나이가 오름차순이 되게 정렬하고 나이가 같은 경우 들어온 순서대로 출력함 for문에서 입력받을 때 index를 같이 리스트에 집어넣고 index와 나이를 통해 다중정렬을 수행함 출력 시에는 포맷팅..

이전 글에서 트랜스포머와 어텐션에 대해 대략적으로 알아보았다. 트랜스포머는 어텐션 구조를 이용해 문장 간의 관계를 파악한다. 그리고, 여기서 Q,K,V를 활용한다. 오늘은 저 행렬들을 어떻게 활용하여 관계를 구하는지 자세히 알아보자 1단계 첫번째 단계는 쿼리 행렬과 키(transpose)의 내적 연산을 수행한다. 행과 열의 이름은 각 단어로 불러보자 그럼 "I" 행 "I"열의 원소는 "I" 벡터와 "I"벡터의 내적이다 마찬가지로 임의의 행 N과 열 M에 대해서 원소는 단어 N 벡터와 M의 내적이라고 할 수 있다. 기하학적으로 내적은 두 벡터의 선형사상을 의미한다. 조금 비약해서 말하면 두 벡터가 비슷한지 정도로 이해하면 좋을 것 같다. 그렇다면 결과로 나온 행렬의 각 원소는 단어와 단어의 유사도의 행렬이..
import sys N= int(sys.stdin.readline().strip()) nums = [] for i in range(N): num = int(sys.stdin.readline().strip()) nums.append(num) nums = sorted(nums) for num in nums: print(num) 대놓고 수 정렬하는 문제 다른거 알고리즘 짜기 귀찮아서 한번 sorted 써서 내봤는데 의외로 시간제한에 안걸려서 당황함