일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- backward
- hash
- que
- Programmers
- FullyConnectedLayer
- boj
- affine
- Python
- PPMI
- CBOW
- 딥러닝
- stak
- Stack
- algorithm
- DeepLearning
- select
- 프로그래머스
- sort
- MySQL
- 자연어처리
- Numpy
- skip-gram
- SQL
- kakao
- 신경망
- Heap
- Word2vec
- 파이썬
- Sigmoid
- dl
- Today
- Total
목록Python (29)
혜온의 이것저것
[문제 이해 및 풀이] 응답완료 시간과 처리시간이 한번에 들어오기 때문에 우선 둘을 endtime과 gap으로 분리시켜 주었다. 이와 동시에 datetime의 timedelta를 사용해서 시작하는 시간도 함께 계산해주었다. 이렇게 lines을 한 바퀴 돌면서 start에는 시작시간을, end에는 응답완료시간을 저장해두었다. 1초동안 얼마나 많은 작업이 처리되고 있는 지 파악해 줘야 하기 때문에 하나의 end와 여러개의 start를 비교해주기 위해 이중for문을 사용하였다. end[i]와 start[j]의 시간차이가 1초보다 작은 경우에는 같은 1초대에서 실행되고 있다고 할 수 있으므로 cnt를 하나씩 증가시켜 주었고, 각 end[i]를 기준으로 1초의 시간대가 바뀌기 때문에 max를 통해서 최대값을 구해..
[문제 이해 및 풀이] board의 문자열들을 문자 하나씩 나눠야 하나씩 수정할 수 있기 때문에 문자열들을 한글자씩 나눠주었다. 이 문제에서는 같은 과정이 계속 반복되기 때문에 while문 안에 코드를 넣어 풀어주었다. for문을 돌면서 4블록이 만들어지는게 확인되면 check하기 위해서 만든 array배열에서 그 위치에 해당하는 값을 1로 바꾸어 주었다. for문을 다 돌면 array의 합을 계산하여 새롭게 4블록이 생긴 것이 있는지 확인해주었다. 이 때, 만약 새로운 4블록이 만들어지지 않았다면 더 이상 게임이 진행되지 않기 때문에 while문을 빠져나가도록 해주었다. 4블록이 만들어지면 그 블록을 지우고 빈 공간을 채워야 하다. 이번에는 거꾸로 for문을 돌면서 array의 값이 1이면 4블록에 해..
1.1.1 벡터와 행렬 벡터는 크기와 방향을 가진 양으로 숫자가 일렬로 늘어선 집합으로 표현할 수 있다. (123) 행렬은 숫자가 2차원 형태(사각형 형상)으로 늘어선 것. (123456) 벡터와 행렬을 확장하여 숫자 집합을 N차원으로 표현한 것도 생각할 수 있는데, 이를 일반적으로 텐서라고 한다. 벡터는 숫자들을 세로롤 나열하는 방법(열벡터), 가로로 나열하는 방법(행벡터)으로 표현 가능. import numpy as np x=np.array([1,2,3]) x.shape ## (3,) x.ndim ## 1 W=np.array([[1,2,3],[4,5,6]])..
[문제 이해 및 풀이] 숫자로 표현되는 점수와 문자로 표현되는 보너스와 옵션들로 dartResult가 구성되어 있다. dartResult에서 정규식을 사용하여 숫자들만 num list에 저장해두었다. 그 후 dartResult를 for문으로 하나씩 접근하여 해당하는 문자에 해당하는 계산을 해주었다. 이 때, idx를 활용하여 보너스와 옵션에 해당하는 점수가 계산되도록 해주었다. [나의 코드] import re def solution(dartResult): idx=0 num=re.findall('\d+',dartResult) num=list(map(int,num)) for i in dartResult: if i.isdigit()==False: if i=="S": idx+=1 elif i=="D": num[..
[문제 이해 및 풀이] 먼저 주어진 찍는 방식에서 반복되는 규칙을 찾아 lst에 저장해둔다. 이 리스트들은 어떤 답이 주어지더라도 같은 결과이고, anwers의 경우만 길이와 내용이 달라지므로 answers를 기준으로 for문을 돌렸다. lst의 길이가 각자 다르고, answers의 길이와도 다르기 때문에 맞는지 비교하기 위해서 i%len(lst)를 사용하여 idx가 반복되도록 설정해주었다. 가장 많이 맞춘 사람의 번호를 return해줘야 하기 때문에 max를 사용해서 맞춘 개수의 최대값을 뽑아주고, 그 최대값과 같은 값을 가지고 있는 번호를 answer 리스트에 append해줬다. 이때 enumerate를 사용하여주었다. [나의 코드] def solution(answers): answer=[] lst1..