일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 신경망
- que
- dl
- PPMI
- backward
- 딥러닝
- Sigmoid
- Numpy
- Word2vec
- Stack
- 파이썬
- affine
- CBOW
- Python
- MySQL
- stak
- DeepLearning
- skip-gram
- SQL
- algorithm
- select
- kakao
- FullyConnectedLayer
- Programmers
- sort
- hash
- 자연어처리
- Heap
- boj
- 프로그래머스
- Today
- Total
목록전체 글 (105)
혜온의 이것저것
[문제 이해 및 풀이] 먼저 주어진 찍는 방식에서 반복되는 규칙을 찾아 lst에 저장해둔다. 이 리스트들은 어떤 답이 주어지더라도 같은 결과이고, anwers의 경우만 길이와 내용이 달라지므로 answers를 기준으로 for문을 돌렸다. lst의 길이가 각자 다르고, answers의 길이와도 다르기 때문에 맞는지 비교하기 위해서 i%len(lst)를 사용하여 idx가 반복되도록 설정해주었다. 가장 많이 맞춘 사람의 번호를 return해줘야 하기 때문에 max를 사용해서 맞춘 개수의 최대값을 뽑아주고, 그 최대값과 같은 값을 가지고 있는 번호를 answer 리스트에 append해줬다. 이때 enumerate를 사용하여주었다. [나의 코드] def solution(answers): answer=[] lst1..
[문제 이해 및 풀이] h의 최대값을 뽑는 과정이기 때문에 h가 가질 수 있는 가장 큰 값인 citations의 길이 n 부터 시작했다. 리스트 안에 있는 숫자가 n보다 크거나 같으면 cnt의 값을 1씩 늘려주었다. 리스트를 한 번 돌고 나오면 n번 이상 인용된 논문의 수(cnt)가 나온다. 이때 cnt의 값이 n보다 크거나 같다면, 즉 n편 이상이라면 그 값이 H-index가 된다. 만약 cnt의 값이 n보다 작다고 한다면 n의 숫자를 1씩 줄여나가면서 가장 큰 n값을 찾는다. 이에 해당하는 값이 없다면 (n==0) 최소값인 0을 return해준다. 예제를 들어 생각하면 이해하기가 더 쉽다. 더보기 더보기 [3,1,1,4] 인 경우 n=4) 1개(4) n=3) 2개(3,4) n=2) 2개(3,4) ->..
[문제 이해 및 풀이] [3,30,34,5,9]로 문제의 흐름을 파악했다. 먼저 앞의 수가 큰 수가 와야 하기 때문에 숫자를 문자로 변경해준 뒤 sort(key=lambda:x[0],reverse=True)를 사용해서 정렬을 해주었다. 그 결과 ['9', '5', '3', '30', '34']의 값을 얻을 수 있었다. 이렇게 풀면 3, 30, 34부분에서 문제에서 원하는 정렬이 일어나지 않는다. 한참을 고민하다가 다른 사람들의 풀이를 참고해서 풀었다. 숫자가 모두 1000이하의 수 이기 때문에 문자로 된 값에 *3을 해줘서 비교를 진행했다. 3->333 / 30->303030 / 34->343434 로 변한 세 수를 비교해보면 아스키코드의 경우 앞에서부터 비교가 진행되기 때문에 343434 가 가장 큰 ..
[문제 이해 및 풀이] commands 안에 있는 리스트에서 첫번째 값은 시작하는 순서값, 두번째 값은 끝나는 순서값, 세번째 값은 정렬 후 위치한 숫자의 순서값이다. 여기서 주의할 점은 commands에서 말하고 있는 순서값은 인덱스 값이 아니기 때문에 1부터 시작한다는 점이다. 따라서 array에서 뽑아올 때 -1을 해주었다. [나의 코드] def solution(array,commands): answer=[] for lst in commands: arr=array[lst[0]-1:lst[1]] answer.append(sorted(arr)[lst[2]-1]) return answer 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42748 ..
[문제 이해 및 풀이] 맨 처음에는 heapq를 사용해서 문제를 해결해야겠다고 생각했다. 우선 operations을 돌면서 하나씩 입력받으며 I이면 heap에 push해주고 숫자가 1이면 초대값을, -1이면 최소값을 출력해주는 코드를 짜려고 했다. heap은 push해주는 과정에서 최소힙 혹은 최대힙으로 바로 정렬이 가능하기 때문에 그 방법을 했지만 최소힙으로 넣은 경우에는 최대값을 출력하는 과정에서, 최대힙으로 넣은 경우에는 최소값을 출력하는 과정에서 어려움을 겪었다. 그래서 우선 stack/que를 사용해보기로 하였다. delete명령을 받으면 list정렬을 해준 뒤 맨 처음 값 혹은 맨 마지막 값을 출력해주는 코드를 짰다. 제출을 한 뒤, heapq를 이용한 방법을 찾아보다가 remove를 활용하면..