Audio Processing 읽을 논문 & 리뷰 페이퍼 정리
Audio Signal Processing (음성 신호 처리)Deep Learning for Audio Signal Processing (2019)Automatic Speech RecognitionListen, Attend and Spell (2015)Speaker Diarization (화자 분리)A review of speaker diarization: Recent advances with deep learning (2021)Speaker-to-TextRobust Speech Recognition via Large-Scale Weak-Supervision (2022) = WhisperWhisper는 웹사이트 들어가면 소스 코드도 있기 때문에 이것도 참고Audio Source Separation (음원..
2024.10.13
no image
[python][LeetCode] 169. Majority Element
문제 : https://leetcode.com/problems/majority-element/?envType=daily-question&envId=2024-02-12 숫자 리스트가 주어지면 n/2 번 초과로 등장하는 숫자를 반환하는 태스크 코드 : class Solution: def majorityElement(self, nums: List[int]) -> int: thresh = len(nums) // 2 num_count = collections.Counter(nums) for num, freq in num_count.items(): if freq > thresh: return num 문제에서 지정했듯이 threshold를 정해주고, collections의 Counter를 사용해 각 숫자의 빈도수를 ..
2024.02.14
[python][프로그래머스] 짝지어 제거하기, 구명보트 (스택, 큐 문제)
1. 짝지어 제거하기 (https://school.programmers.co.kr/learn/courses/30/lessons/12973#) (레벨 2) 처음에는 큐를 사용해 만약 짝이 지어져있지 않다면 뒤에 다시 append해주고 짝이 있는 애들 먼저 처리하는 식으로 풀었는데 그럼 문제에서는 틀렸다고 여겨지는 문제까지 맞다고 처리되기도 하고 while loop이 한도끝도 없이 돌아갈 거 같아서 질문게시판을 읽어봤다 알고보니 유명한 스택 문제였다 ;; 스택 사용 풀이는: 일단 맨 앞에 있는 char을 스택에 넣어준다 그 다음 char은 스택의 마지막 value와 비교해준다 두 알파벳이 짝이라면 스택에서 마지막 value를 pop해주고 아니라면 해당 char도 스택에 넣어준다 모든 알파벳을 탐색 할때까지 ..
2023.10.10
[python][프로그래머스] 더 맵게 (해시 문제)
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42626# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 레벨 2 간단한 힙 문제였다 일단 주어진 스코빌 리스트를 .heapify() 시켜준 다음 주어진 공식을 while 문 안에 넣어서 스코빌 리스트에 숫자가 하나가 남을 때까지 돌려주는 거다 import heapq def solution(scoville, K): heapq.heapify(scoville) count = 0 while len(scoville) >= 2: # while l..
2023.10.10
no image
[python][프로그래머스] 전력망을 둘로 나누기 (BFS 문제)
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 레벨 2 어떻게 풀어야할지 감도 안잡혀서 고민하다가 풀이를 찾아봤다 https://jeongmin.tistory.com/5 [프로그래머스 Level 2] 전력망을 둘로 나누기 - 파이썬(Python) ✅문제 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭...
2023.10.08
[python][백준] 10828 스택, 1158 요세푸스 문제 (스택과 큐 문제)
1. 10828 스택 (https://www.acmicpc.net/problem/10828) 풀이시간 5분 간단한 구현 문제 import sys ​ n = int(sys.stdin.readline().rstrip()) ​ arr = [sys.stdin.readline().rstrip().split() for _ in range(n)] ​ stack = [] ​ for l in arr: if l[0] == 'push': stack.append(int(l[1])) elif l[0] == 'pop': if stack: print(stack.pop()) else: print(-1) ​ elif l[0] == 'size': print(len(stack)) ​ elif l[0] == 'empty': if stack..
2023.10.08
[python][백준] 15649 n과 m, 1182 부분수열의 합 (백트래킹 문제)
[백트래킹 깨달음] DFS와 백트래킹의 차이를 뚜렷하게 알 수 있게 좀 더 연습해야겠다 하나 전 노드로 돌아가기 위해 .pop()을 하거나 호출을 따로 하나 더 하는 것 같다 백트래킹 기초를 연습하고싶다면 n과 m 문제를 전부 다 해보는 것을 추천한다 1. 15649 n과 m (https://www.acmicpc.net/problem/15649) 간단하게 from itertools import permutations를 사용해 풀 수 있는 문제이기도하다 백트래킹으로 풀면 재귀를 활용해 풀 수 있다 n, m = map(int, input().split()) ans = [] def back_track(): if len(ans) == m: # 탈출 조건 print(' '.join(map(str, ans))) r..
2023.10.06
[python][백준] 4195 친구 네트워크 (유니온 파인드 (Union Find) 문제)
해시 문제를 풀다가 친구 네트워크 (https://www.acmicpc.net/problem/4195) 문제를 접하게 되었고 유니온 파인드라는 알고리즘이 있다는 것을 알았다. 두 노드가 같은 집합에 속해있는지, 혹은 두 노드가 연결되어 있는지 확인할 수 있는 알고리즘이고 굉장히 특징적인 알고리즘이다. 1. 4195 친구 네트워크 (https://www.acmicpc.net/problem/4195) https://reliablecho-programming.tistory.com/81 [알고리즘] 백준4195 친구 네트워크 - 파이썬 단계별 풀기의 유니온 파인드 세 번째 문제이다. 전에 풀었던 두 문제와 달리 배열을 예제 입력 시에 해줘야 된다는 점이었다. find함수와 union함수도 좀 다르게 구현했어야 ..
2023.10.06
[python][백준] 10815 숫자카드, 1764 듣보잡, 1620 나는야 포켓몬 마스터 이다솜 (해시 문제)
[해시 깨달음] 예상보다 내가 해시에 약한 거 같다 기본적인 알고리즘이기 때문에 더 기초를 탄탄하게 해야될 듯 하다 해시를 사용하면 탐색에 O(1), 최악의 경우에도 O(N)이 걸리기 때문에 시간복잡도를 줄이고싶다면 잘 활용해야된다 1. 10815 숫자 카드 (https://www.acmicpc.net/problem/10815) 해시(딕셔너리)로 찾으면 시간 초과가 나지 않지만 for loop으로 찾게 되면 시간 초과가 남 n = int(input()) num_card = list(map(int, input().split())) m = int(input()) is_have = {k:0 for k in list(map(int, input().split()))} for n in num_card: if n i..
2023.10.05