본문 바로가기

전체 글

(12)
[Python] [프로그래머스] 오픈채팅방 목차문제 설명제한사항입출력 예풀이과정정답문제 설명카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다.신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다."[닉네임]님이 들어왔습니다."채팅방에서 누군가 나가면 다음 메시지가 출력된다."[닉네임]님이 나갔습니다."채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다.채팅방을 나간 후, 새로운 닉네임으로 다시 들어간다.채팅방에서 닉네임을 변경한다.닉네임을 변경할 때는 기존에 채팅방에 출력되어 있던 메시지의 닉네임도 전부 변경된..
[Python] [프로그래머스] 2개 이하로 다른 비트 목차문제 설명제한 사항입출력 예풀이과정정답문제 설명양의 정수 x에 대한 함수 f(x)를 다음과 같이 정의합니다.x보다 크고 x와 비트가 1~2개 다른 수들 중에서 제일 작은 수예를 들어,f(2) = 3 입니다. 다음 표와 같이 2보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 3이기 때문입니다.수비트다른 비트의 개수2000...0010 3 000...0011 1f(7) = 11 입니다. 다음 표와 같이 7보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 11이기 때문입니다.수비트다른 비트의 개수7000...0111 8000...100049 000...1001 310 000...1010 311 000...1011 2 정수들이 담긴 배열 numbers가 매개변..
[Python] [프로그래머스] 마법의 엘리베이터 목차문제 설명제한 사항입출력 예풀이과정정답문제 설명마법의 세계에 사는 민수는 아주 높은 탑에 살고 있습니다. 탑이 너무 높아서 걸어 다니기 힘든 민수는 마법의 엘리베이터를 만들었습니다. 마법의 엘리베이터의 버튼은 특별합니다. 마법의 엘리베이터에는 -1, +1, -10, +10, -100, +100 등과 같이 절댓값이 10c (c ≥ 0 인 정수) 형태인 정수들이 적힌 버튼이 있습니다. 마법의 엘리베이터의 버튼을 누르면 현재 층 수에 버튼에 적혀 있는 값을 더한 층으로 이동하게 됩니다. 단, 엘리베이터가 위치해 있는 층과 버튼의 값을 더한 결과가 0보다 작으면 엘리베이터는 움직이지 않습니다. 민수의 세계에서는 0층이 가장 아래층이며 엘리베이터는 현재 민수가 있는 층에 있습니다.마법의 엘리베이터를 움직이기 ..
[Python] [프로그래머스] 삼각 달팽이 목차문제 설명제한 사항입출력 예풀이과정정답문제 설명정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요.제한 사항n은 1 이상 1,000 이하입니다.입출력 예nresult4[1,2,9,3,10,8,4,5,6,7]5[1,2,12,3,13,11,4,14,15,10,5,6,7,8,9]6[1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11]풀이과정down (↓), right (→), up (↖) 방향이 반복됨순서대로 6, 5, 4, 3, … 순서로 채우는 칸..
[Python] [프로그래머스] n^2 배열 자르기 목차문제 설명제한 사항입출력 예풀이과정정답문제 설명정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다.n행 n열 크기의 비어있는 2차원 배열을 만듭니다.i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다.1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다.1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다.새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다.정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주..
Decoding Strategies | greedy approach, beam search, random sampling · Decoding strategies · Greedy Approach · Beam Search · Random sampling · random sampling with temperature · Top-k random sampling · Top-p random samplilng (= Nucleus sampling) Decoding strategies $$ P(x_i|x_{1:i-1}) = \sum_jexp(u_i)/exp(u_j) $$ ($x$: 타임 스텝 $i$의 토큰, $u$: vocabulary에 있는 모든 토큰을 나타내는 벡터) 디코딩 하는 동안 각 타임 스텝에서 representation vector에 softmax 함수를 적용하여 각 단어에 대한 확률 배열로 변환한다. 이때 ‘토큰을 어떤 방식..
Entropy, Cross Entropy, KL-divergence 정보량 정보량 = 놀람의 정도 = 불확실성의 정도 즉, 정보량이 많을수록 불확실성이 높고, 불확실성이 높을수록 정보량이 많다. 발생 확률이 높을수록 짧은 길이(정보량)를 가지도록, 발생 확률이 낮을수록 긴 길이를 가져도 몇 번 등장하지 않기 때문에, 이렇게 정보를 표현하면 효율적으로 표현할 수 있다. 정보를 효율적으로 어떻게 표현하는가? → Bit를 사용. 0 or 1로 표현 Entropy 엔트로피 entropy: 정보를 표현하는데 필요한 최소 평균 자원량 = 표현하기 위해 사용되는 0 or 1의 평균 길이 = 평균 정보량 (모든) 발생 확률에 따른 최소 평균 자원량, 엔트로피를 나타내기 위해 기댓값 $$ entropy = \sum(사건\ 발생\ 확률)·log_2(1/사건\ 발생\ 확률) \\ = \su..
[Paper Review] Efficient Estimation of Word Representations inVector Space ② | Word Representation ③ Word2Vec 목차 Abstract 1. Introduction 2. Model Architectures 3. New Log-linear Models 3.1 Continuous Bag-of-Words Model (CBOW) 3.2 Continuous Skip-gram Model (Skip-gram) 4. Results 5. Examples of the Learned Relationships 6. Conclusion 7. Follow-Up Work 이번 포스팅은 Word2Vec으로 잘 알려진 논문 리뷰이다. (사실은 그냥 해석하고 요약..) 포스팅 ② 편은 위와 같은 목차에서 3절, CBOW와 Skip-gram에 대해 작성되었다. 3. New Log-linear Models 대부분의 계산량은 non-linear hidd..