일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Word2vec
- affine
- DeepLearning
- Programmers
- select
- backward
- stak
- 프로그래머스
- CBOW
- 신경망
- FullyConnectedLayer
- dl
- SQL
- Heap
- Numpy
- Sigmoid
- 딥러닝
- algorithm
- hash
- MySQL
- PPMI
- skip-gram
- Stack
- Python
- kakao
- 자연어처리
- boj
- que
- 파이썬
- sort
- Today
- Total
목록전체 글 (105)
혜온의 이것저것
[문제 이해 및 풀이] heap을 사용하는 문제여서 heapq를 사용해야겠다고 생각했다. heapq.heappop()을 사용해서 최소값과 두번째로 작은 값을 변수에 저장을 한 뒤, heapq.heappush()를 사용해서 새로운 스코빌지수를 heap에 넣어주었다. 종료 조건인 모두 K를 넘을 경우에를 계산해주기 위해 heap의 성질을 생각하여 heap[0]가 K이상일 경우에 종료시켜주었다. 또 하나의 종료조건은 모든 음식의 스코빌 지수를 K이상으로 만들 수 없는 경우이다. 이 경우는 더 이상 섞을 음식이 없을 경우 즉, heap에 하나의 지수만 남아있는 경우에 해당된다. 따라서 이에 해당하는 if-break문을 만들어 넣어주었다. [나의 코드] import heapq def solution(scovile..
[문제 이해 및 풀이] 최대값이 맨 앞에 있을 때에만 출력이 발생하고 최대값이 아닌 경우에는 순서가 올 때까지 리스트의 뒤로 들어가면서 인덱스가 계속 변하게 된다. 맨 처음에는 앞에 있는 값이 뒤로 간다는 것 때문에 deque의 rotate를 사용해야 하나 싶어 구현해 보려고 했지만 실패했다. 같은 숫자가 있는 두번째 예시와 같은 경우에는 숫자를 찾아도 그게 내가 원하는 값인지 아닌지 구별이 꼭 필요하다. 그래서 target을 명시해 주는 target 리스트를 새로 만들어 주었다. priorities.pop(0) 값을 num에 저장해둔뒤 비교를 진행하였다. 최대값이 아니라면 최대값이 나올 때 까지 다시 리스트의 맨 뒤에 append 시켜줬다. 이때 target에서도 똑같이 움직였다. 최대값일때에는 내가 ..
[문제 이해 및 풀이] 우선 각 작업이 끝날 때 까지 남은 작업 일수를 day라는 리스트에 저장해주었다. 첫 번째 예시( progresses=[93,30,55], speeds=[1,30,5] )로 적용을 해보면 day=[7,3,9] 가 된다. 두번째 작업은 첫번째 작업이 끝날 때 까지 배포가 불가능하다가 첫번째 작업이 완료되는 7일째에 같이 배포가 된다. 그래서 생각한 방법은 day리스트에서 값이 앞의 값보다 작으면 지금까지의 작업의 수를 내보내는 방법이다. 결과값을 받아올 새로운 리스트 answer, 작업의 수를 count해줄 변수 x, 두 작업 일수 비교를 위한 변수 a와 b를 새로 선언해주었다. stack의 pop()기능을 사용하여 남은 작업 일수를 비교하였다. 작업 일수를 비교했을 때 전의 숫자가..
정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터..
정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty: 스택이 비어있으면 1, 아니면 0을 출력한다. top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 ..