본문 바로가기

전체 글

(253)
자바스크립트) Audio API 웹 오디오 API를 사용하며 웹 오디오 API에 대해 찾아보다가 우연히 잘 정리한 글을 발견해 정리한다. 우리가 할 일 Web Audio API가 무엇인지, 요소와 어떻게 다른지 알아보기 GainNode를 사용하여 간단한 볼륨 컨트롤러 구축 더 복잡한 오디오 노드 탐색 태그와 다른 점 예전에는 브라우저에서 오디오를 재생하는 첫 번째 방법이 태그 였습니다. 이 태그는 오디오를 전혀 제어할 수 없으며 Internet Explorer에서만 사용이 가능합니다. 이는 결코 표준화되지 않았으며 지금은 너무 구식이어서 caniuse.com 웹사이트에서도 다음과 같이 경고할 것입니다. 이러한 요소/태그는 더 이상 사용되지 않으므로 사용해서는 안됩니다. 이로 인해 브라우저 지원이 되질 않습니다. Flash는 웹에서 오디..
파이썬) 0 만들기 - BOJ https://www.acmicpc.net/problem/7490 7490번: 0 만들기 각 테스트 케이스에 대해 ASCII 순서에 따라 결과가 0이 되는 모든 수식을 출력한다. 각 테스트 케이스의 결과는 한 줄을 띄워 구분한다. www.acmicpc.net 구현 + dfs + 브루트포스 문제인거같다. 처음 제출한 코드는 다음과 같다 t = int(input()) result = [] def dfs(arr, current_idx, n, s, condition, num): if current_idx == n: new_s = s.replace(' ', '') if eval(new_s) == 0: if s not in result: result.append(s)3 return if condition == 'p..
파이썬) 카드게임 - BOJ https://www.acmicpc.net/problem/2621 2621번: 카드게임 근우는 오늘 재미있는 카드 게임을 배우고 있다. 카드는 빨간색, 파란색, 노란색, 녹색의 네 가지 색이 있고, 색깔별로 1부터 9까지 숫자가 쓰여진 카드가 9장씩 있다. 카드는 모두 36(=4x9)장이다. www.acmicpc.net from collections import Counter info = [] for i in range(5): color, num = map(str, input().split()) info.append([color, int(num)]) info .sort(key=lambda x: x[1]) print(info) num1 = info[0][1] num2 = info[1][1] num3 = i..
파이썬) 암호 만들기 - BOJ https://www.acmicpc.net/problem/1759 from itertools import combinations from collections import Counter l, c = map(int, input().split()) arr = list(map(str, input().split())) arr.sort() result = [] for v in combinations(arr, l): # 조합을 짜줌 c = Counter(v) # 조합 안 요소의 개수를 셈 cnt = 0 # 모음 수 if 'a' in c: cnt += 1 if 'e' in c: cnt += 1 if 'i' in c: cnt += 1 if 'o' in c: cnt += 1 if 'u' in c: cnt += 1 if ..
파이썬) 더하기 사이클 - BOJ n = int(input()) init = n n = str(n) if len(n) == 1: n = '0' + n i = 1 p = n n = int(n[0]) + int(n[1]) n = str(n) if len(n) == 1: n = p[-1] + n else: n = p[-1] + n[-1] while True: if int(init) == int(n): break # while True: i += 1 # if init == int(n): # break prev = n n = int(n[0]) + int(n[1]) n = str(n) if len(n) == 1: n = prev[-1] + n else: n = prev[-1] + n[-1] # print(n) print(i) https://www...
파이썬) 컨베이어 벨트 위의 로봇 - BOJ https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net from collections import deque n, k = map(int, input().split()) belt = deque(list(map(int, input().split()))) robot = deque([0] * n) step = 0 while 1: belt.rotate(1) robot.rotate(1) # 회전 robot[-1] = 0 # 로봇 아웃 if ..
파이썬) 줄 세우기 - BOJ https://www.acmicpc.net/problem/2631 2631번: 줄세우기 KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 www.acmicpc.net 이 문제는 보아도 모르겠어서 해당 블로그를 통해 이해를 하게되었다 https://ddiyeon.tistory.com/61 [백준 2631번] 줄세우기 (python) 문제 KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호 ddiyeon.tistory.com 내가 제출한 ..
파이썬) 1, 2, 3 더하기 4 https://www.acmicpc.net/problem/15989 15989번: 1, 2, 3 더하기 4 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2 www.acmicpc.net n = int(input()) arr = [0, 1, 2, 3, 4, 5, 7, 8, 10, 12, 14, 16] for i in range(12, 100001): # arr.append() # a = arr[i] arr.append(arr[i-6] + i) for i in range(n): num = int(input()) print..
파이썬) 쉬운 최단거리 - BOJ https://www.acmicpc.net/problem/14940 import sys input = sys.stdin.readline from collections import deque N, M = map(int, input().split()) graph = [list(map(int, input().split())) for _ in range(N)] visited = [[-1] * M for _ in range(N)] dx, dy = [0,0,-1,1], [-1,1,0,0] def bfs(i,j): queue = deque() queue.append((i,j)) visited[i][j] = 0 while queue: x, y = queue.popleft() for i in range(4): nx, n..
파이썬) 한 줄로 서기 - BOJ https://www.acmicpc.net/problem/1138 n = int(input()) arr = list(map(int, input().split())) answer = [0 for _ in range(n)] for i in range(n): cnt = 0 for j in range(n): if answer[j] == 0 and cnt == arr[i]: answer[j] = i + 1 break elif answer[j] == 0: cnt += 1 print(' '.join(map(str, answer))) 우선 이것이 어떻게 동작하는지 살펴보자. 말로 설정하자면 다음과 같다. 예를들어 2 1 1 0일때, 0번째 2는 자기보다 큰 사람이 왼쪽에 2명 있다는 뜻이다. 즉 왼쪽에서 두 칸 뛰고 ..
파이썬) N번째 큰 수 - BOJ https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net import heapq n = int(input()) heap = [] # arr = [] for _ in range(n): a = list(map(int, input().split())) for num in a: # 배열 개수가 n개 미만이면 if len(heap) < n: # 넣음 heapq.heappush(heap, num) else: # 입력값이 heap의 최소값보다 크다면 if heap[0] <..
파이썬) 창고 다각형 - BOJ https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net n = int(input()) arr = [0 for _ in range(1001)] mh = 0 height_idx = 0 for _ in range(n): idx, h = map(int, input().split()) arr[idx] = h if mh < h: height_idx = idx mh = h prev_h = 0 left_value = 0 for i in range(h..
파이썬) 랭킹전 대기열 -BOJ https://www.acmicpc.net/problem/20006 p, m = map(int, input().split()) arr = [] for _ in range(p): lev, name = map(str, input().split()) lev = int(lev) is_Join = False for i in range(len(arr)): if arr[i][0][0] - 10
파이선) 최소 힙 - BOJ https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net import heapq import sys input = sys.stdin.readline ## 시간초과 방지 N = int(input()) heap = [] for _ in range(N): x = int(input()) if x == 0: if not heap: print(0) else: print(heapq.heappop(heap)) else: heapq.heappush(..
리액트) 디스코드 클론 - 7 앞서 여태까지의 기능들을 모두 한 컴포넌트에 모았는데, 그것들을 정리해보려한다. 우선 useSocket.js 파일을 생성한다 // useSocket.js import Peer from "peerjs"; import React, { useEffect, useRef, useState } from "react"; import { io } from "socket.io-client"; import audioFrequency from "../audioFrequency"; import audioContext from "../audioContext"; var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozG; c..