전체 글 188

백준 16435번 Python / Greedy 백준 문제풀이 Github https://github.com/Seokii/baekjoon GitHub - Seokii/baekjoon: Daily Commit for Baekjoon Daily Commit for Baekjoon. Contribute to Seokii/baekjoon development by creating an account on GitHub. github.com 문제 링크 https://www.acmicpc.net/problem/16435 16435번: 스네이크버드 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,00.. 알고리즘 정복하기!/백준 문제풀이 2022. 2. 25.
[자연어 처리/NLP기초] 6. 벡터간 유사도 구하기: 코사인 유사도 동시발생 행렬 https://seokii.tistory.com/94 [자연어 처리/NLP기초] 5. 통계 기반 기법: 동시발생 행렬 단어의 분산 표현과 분포 가설 https://seokii.tistory.com/93 [자연어 처리/NLP기초] 4. 단어의 분산 표현과 분포 가설 말뭉치와 말뭉치 전처리하기 https://seokii.tistory.com/91 [자연어 처리/NLP기초] 3. 말.. seokii.tistory.com 지난 글에서 동시발생 행렬을 공부하고 해당 내용을 정리했었습니다. 코사인 유사도 벡터 사이의 유사도를 측정하는 방법은 여러 가지가 있는데, 코사인 유사도를 사용해서 단어 벡터의 유사도를 구해보도록 하겠습니다. 코사인 유사도는 두 벡터 \( x = (x_{1}, x_{2}, x_{.. 머신러닝 & 딥러닝/자연어처리 2022. 2. 23.
[자연어 처리/NLP기초] 5. 통계 기반 기법: 동시발생 행렬 단어의 분산 표현과 분포 가설 https://seokii.tistory.com/93 [자연어 처리/NLP기초] 4. 단어의 분산 표현과 분포 가설 말뭉치와 말뭉치 전처리하기 https://seokii.tistory.com/91 [자연어 처리/NLP기초] 3. 말뭉치와 말뭉치 전처리하기 시소러스와 WordNet https://seokii.tistory.com/89?category=1037863 [자연어 처리/NLP기초] 2.. seokii.tistory.com 지난 글에서 단어의 분산 표현과 분포 가설에 대해서 공부하고 정리했습니다. 동시발생 행렬 지난 글에서 사용하고 책에 나와 있는 문장인 'you say goodbye and i say hello .'라는 문장을 단어별로 분리하는 전처리를 진행하겠습니다.. 머신러닝 & 딥러닝/자연어처리 2022. 2. 21.
[자연어 처리/NLP기초] 4. 단어의 분산 표현과 분포 가설 말뭉치와 말뭉치 전처리하기 https://seokii.tistory.com/91 [자연어 처리/NLP기초] 3. 말뭉치와 말뭉치 전처리하기 시소러스와 WordNet https://seokii.tistory.com/89?category=1037863 [자연어 처리/NLP기초] 2. 단어 이해시키기(1) - 시소러스와 WordNet 자연어 처리란 https://seokii.tistory.com/77 [자연어 처리/NLP기초] 1.. seokii.tistory.com 지난 글에서 말뭉치가 무엇이고 말뭉치를 전처리하는 법을 정리했습니다. 이번 글에서는 단어의 분산 표현과 분포 가설에 대해서 정리하겠습니다. 단어의 분산 표현 단어의 분산 표현이란 단어를 고정 길이의 밀집벡터로 표현한 것을 의미합니다. 밀집벡터라는.. 머신러닝 & 딥러닝/자연어처리 2022. 2. 21.
백준 1343번 Python / Greedy 문제 링크 https://www.acmicpc.net/problem/1343 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 풀이 board = input() board = board.replace('XXXX','AAAA') board = board.replace('XX', 'BB') if 'X' in board: print(-1) else: print(board) 입력 받은 문자열에 'XXXX'이 존재한다면 'AAAA'로 변경. 입력 받은 문자열에 'XX'이 존재한다면 'BB'로 변경. 전부 진행하고 X가 남아 있으면 -1을 출력. 아니라면 그대로 출력. 알고리즘 정복하기!/백준 문제풀이 2022. 2. 21.
[자연어 처리/NLP기초] 3. 말뭉치와 말뭉치 전처리하기 시소러스와 WordNet https://seokii.tistory.com/89?category=1037863 [자연어 처리/NLP기초] 2. 단어 이해시키기(1) - 시소러스와 WordNet 자연어 처리란 https://seokii.tistory.com/77 [자연어 처리/NLP기초] 1. 자연어 처리란? 자연어 처리를 공부하면서 기초적인 내용을 정리하고자 글을 쓰게 되었습니다. '밑바닥부터 시작하는 딥러닝2' 교 seokii.tistory.com 지난 글에서 컴퓨터에게 단어를 가르치기 위해서 시소러스와 WordNet을 정리했습니다. 이번에는 통계 기반 기법으로 단어를 가르치기 전에 말뭉치와 말뭉치를 전처리하는 것에 대해 정리하겠습니다. 말뭉치(Corpus)란? 말뭉치는 자연어처리 작업에서 의미하는 텍스.. 머신러닝 & 딥러닝/자연어처리 2022. 2. 19.
백준 3135번 Python / Greedy 문제 링크 https://www.acmicpc.net/problem/3135 3135번: 라디오 첫 줄엔 정수 A와 B가 주어진다 (1 ≤ A, B < 1000, A ≠ B). 다음 줄엔 정수 N이 주어진다 (1 ≤ N ≤ 5). 다음 N개의 줄엔 미리 지정되어 있는 주파수가 주어진다 (주파수는 1000 보다 작다). www.acmicpc.net 풀이 a,b = map(int, input().split()) n = int(input()) favorites = [] for _ in range(n): favorites.append(int(input())) how_many1 = [] how_many2 = [] how_many1.append(abs(a-b)) for i in range(len(favorites).. 알고리즘 정복하기!/백준 문제풀이 2022. 2. 19.
[자연어 처리/NLP기초] 2. 단어 이해시키기(1) - 시소러스와 WordNet 자연어 처리란 https://seokii.tistory.com/77 [자연어 처리/NLP기초] 1. 자연어 처리란? 자연어 처리를 공부하면서 기초적인 내용을 정리하고자 글을 쓰게 되었습니다. '밑바닥부터 시작하는 딥러닝2' 교재를 공부하고 내용을 정리하도록 하겠습니다. 자연어 처리 기초 용어 https://seo seokii.tistory.com 지난 글에서 자연어 처리란 무엇인지에 대해 간단하게 정리를 했습니다. 이번 글에서는 컴퓨터에게 단어를 어떻게 이해시키는지에 대해서, 그중에서도 시소러스 방식과 WordNet에 대해서 정리해보겠습니다. 시소러스(thesaurus) 구글에 시소러스를 검색하면 다음과 같이 정의하고 있습니다. 1. 단어를 의미에 따라 분류/배열한 일종의 유의어 사전 2. 컴퓨터 등의 .. 머신러닝 & 딥러닝/자연어처리 2022. 2. 19.