본문 바로가기

전체 글39

A Wavenet for Speech Denoising 오늘은 요즘 연구과제를 진행하면서 네트워크 모델로 사용하고 있는 디노이징을 위한 웨이브넷에 대한 간단한 리뷰를 하고자 한다. 기존의 웨이브넷에 대해서 배경지식을 가지고 있다는 가정하에 기존의 웨이브넷과의 차이점을 위주로 리뷰를 진행한다. Wavenet 기존의 웨이브넷은 Causal, Dilated Conv. 를 활용한것이 특징이다. - Causal Conv. 실시간으로 raw audio를 처리하고자 현재 값과 과거 값만을 사용하기 때문에 사용한 것으로 이해했다. - Dilated Conv. 16KHz의 샘플링 레이트를 가지는 raw audio data가 있다고 생각하자. 1초의 data를 입력으로 한다. = 16만개의 샘플을 네트워크의 입력으로 한다. 우리에게는 짧다고 생각되는 1초 조차 네트웍 입장에서.. 2021. 1. 4.
프로그래머스_다트게임_파이썬 def solution(dartResult): answer = [] dartResult = dartResult.replace('10','X') point = ['10' if i == 'X' else i for i in dartResult] # print(point) SDT = ["S","D","T"] for i in point: if i in SDT: answer[-1] = answer[-1]**(SDT.index(i)+1) elif i == "*": answer[-1] *= 2 if len(answer) > 1 : answer[-2] *= 2 elif i == "#": answer[-1] *= -1 else: answer.append(int(i)) print(answer) return sum(answe.. 2020. 12. 28.
비밀지도_파이썬 def solution(n, arr1, arr2): answer = [] map = [['#' for i in range(n)] for j in range(n)] temp1 = arr1 temp2 = arr2 for i in range(n): for j in range(n): if (temp1[i] % 2 == 0 ) and (temp2[i]%2==0): map[i][-1-j] = ' ' temp1[i] = temp1[i] // 2 temp2[i] = temp2[i] // 2 m = '' for j in range(n): m += map[i][j] answer.append(m) return answer 내가 푼 코드 이진법을 처리하는 함수를 몰라서 직접 해결. def solution(n, arr1, ar.. 2020. 12. 24.
x만큼 간격이 있는 n개의 숫자_파이썬 def solution(x, n): return [x*i for i in range(1,n+1)] 2020. 12. 24.
프로그래머스_행렬의덧셈_파이썬 def solution(arr1, arr2): for i in range(len(arr2)): for j in range(len(arr2[0])): arr1[i][j] += arr2[i][j] return arr1 처음에 풀었을때 위에처럼 풀었음. def solution(arr1, arr2): return [[arr1[i][j] + arr2[i][j] for j in range(len(arr2[0]))] for i in range(len(arr2))] 파이썬 답게 한줄로 요약? 했을때 def solution(arr1, arr2): return [[ v1+v2 for v1,v2 in zip(a1,a2)] for a1,a2 in zip(arr1,arr2)] 다른사람의 풀이에서 내장함수 zip을 이용한걸 보고.. 2020. 12. 23.
프로그래머스_핸드폰 번호 가리기_파이썬 def solution(phone_number): answer = [(phone_number[i]) for i in range(len(phone_number))] for i in range(0,len(phone_number)-4): answer[i] = "*" result='' for i in range(len(phone_number)): result += answer[i] return result 아주 비효율적인 코드.. 아래는 다른 사람의 풀이를 참고했을때 def solution(phone_number): return "*"*(len(phone_number)-4) + phone_number[-4:]​ 문자열을 좀더 이해할 필요가 있을듯 2020. 12. 23.
프로그래머스_하샤드수_파이썬 def solution(n): digit_sum = 0 temp=n while temp: digit_sum += temp%10 temp //= 10 print(temp) return n % digit_sum == 0 str을 이용해서 간단하게 풀수있지만 요런식으로도 풀수있다. 2020. 12. 22.
[카카오 인턴]키패드_누르기_파이썬 def solution(numbers, hand): pad_id = {1:[0,0],2:[0,1],3:[0,2], 4:[1,0],5:[1,1],6:[1,2], 7:[2,0],8:[2,1],9:[2,2], 0:[3,1]} L_location = [3,0] R_location = [3,2] result = [] while(numbers != []): if numbers[0] == 1 or numbers[0] == 4 or numbers[0] == 7: result.append('L') L_location = pad_id[numbers[0]] del numbers[0] elif numbers[0] == 3 or numbers[0] == 6 or numbers[0] == 9: result.append('R') .. 2020. 12. 18.
다리를 지나는 트럭_ 파이썬 def solution(bridge_length, weight, truck_weights): answer = 0 while(len(truck_weights)>0): check = 0 pass_num = 0 for i in range(len(truck_weights)): pass_num += 1 check += truck_weights[i] if check > weight: pass_num -= 1 break for i in range(pass_num): del truck_weights[0] answer += bridge_length + pass_num - 1 return answer+1 위에 코드는 처음 시도했던 코드. 주어진 테스트 케이스는 모두 통과하였으나 채점에서 와장창 틀림. 위에 코드는 한번에 .. 2020. 12. 15.