전체 글

전체 글

    [백준 / BOJ] C++ 1655 가운데를 말해요

    [백준 / BOJ] C++ 1655 가운데를 말해요

    https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 풀이 우선순위 큐를 vector에 넣은 후 vector size에 따라 달라지는 값으로 문제를 풀었으나.. 시간초과 for문으로 vector에 입력하는 부분에서 시간초과가 나는것 같습니다. 그래서 priority_queue를 max,min 두개를 만들어 주어 중간값을 구하는 방식을 사용했습니다. 중간 값 구하기 알고리즘 1. 최대 힙의 크기는 최소 힙의 크기와 같거나, 하나 더 크..

    [백준 / BOJ] C++ 11286 절대값 힙

    [백준 / BOJ] C++ 11286 절대값 힙

    https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 우선순위 큐의 greater의 자료형을 살펴보면 struct인 것을 알 수 있습니다. 절댓값을 구하는 operator를 struct으로 만들어 쉽게 해결할 수 있습니다. Code #include #include #include using namespace std; struct AbsGreater { bool operator()(int a, int b) { if (abs(..

    [백준 / BOJ] C++ 1927 최소 힙

    [백준 / BOJ] C++ 1927 최소 힙

    https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 우선순위 큐에 greater를 이용하여 오름차순으로 정렬한다. 이후, N만큼 반복시키며 입력된 값을 확인한다. 입력된 값이 0이며, queue가 비어있으면 0을 출력한다. Code #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cou..

    [OpenCV4] C# OpenCV4 WebCam 사용하기

    [OpenCV4] C# OpenCV4 WebCam 사용하기

    C# OpenCV4 Webcam 사용하기 OpenCv4를 사용하기에, 기본적으로 OpenCV4 Nuget 추가를 해주셔야합니다. Code using OpenCvSharp; using OpenCvSharp.Extensions; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using Point = OpenCvSharp.Point; n..

    [OpenCV4] C# OpenCV4 Gamma

    [OpenCV4] C# OpenCV4 Gamma

    C# OpenCV4 Gamma를 조정한 이미지 프로세싱 배경 이미지 무료로 제공하는 배경 이미지를 Gamma를 조정하여 변경해보도록 하겠습니다. Code using OpenCvSharp; using OpenCvSharp.Extensions; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Gamma { public partial class Form1 : Fo..

    [JavaScript] Event Handler 사용하기

    [JavaScript] Event Handler 사용하기

    Event Handler는 HTML Tag에 Event를 주는것과, JavaScript에서 Event Handler를 설정하는것으로 크게 두 분류로 나뉘어 져 있습니다. HTML Tag에 Event를 주는 것은 이전에 onClick Event를 사용하며, 공부를 했으니 이론적인것만 간단히 짚고 JS에서 Event Handler를 설정하는걸 알아보겠습니다. 일단 웹 브라우저에서 발생하는 Event종류는 4가지로 나뉩니다. form Event, window Event, mouse Event, key Event로 이루어져 있는데 말 그대로 form Event는 form 내부에 어떠한 변화가 일어났을경우(submit 버튼을 누르는경우)이고, window Event는 웹 페이지가 로드가 완료되며 발생하는 이벤트,..

    [JavaScript] Element의 추가와 삭제

    [JavaScript] Element의 추가와 삭제

    우선 메소드부터 간단하게 설명 드리겠습니다. Document API document.createElement() : 문자열 인자로써 괄호안에 Tag를 입력할시, 해당 Element가 반환되게 됩니다. Element API .appendChild() : 괄호안에 입력된 Element를 호출된 Element의 자식으로 추가합니다. .removedChild() : 괄호안에 입력된 Element를 호출된 Element의 자식으로 추가합니다. .insertBefore(A, B) : 괄호안에 입력된 A Element가 B Element 바로 앞으로 추가되게 됩니다. .cloneNode() : 호출된 Element를 복사(clone)합니다. document.createElement()를 이용하여 선을 만들고 Elem..

    [JavaScript] Element의 선택과 변경

    [JavaScript] Element의 선택과 변경

    Element를 선택하는 방법은 getElement 메소드를 사용해서 선택을 할 수 있습니다. getElementBy~ 는 단일 Element를 선택하는 방법이고, getElementsBy~ 는 다중 Element를 선택하는 방법입니다. 다중 Element를 찾는 방법에는 아래 5가지가 있습니다. 우선 id를 이용하여 단일 Element를 찾는 방법을 해보겠습니다. getElement 메소드는 인자로써 태그의 id를 전달할 경우 해당 element가 반환이 되게 됩니다. 콘솔 창에서 getElementById를 이용하여 찾아보겠습니다. 처음에 document에 있는 poet이란 Id를 검색하였을때, poet의 코드가 나오게 됩니다. 이것을 변수 x에 저장을 한 후, 안에 들어있는 Text를 검색하였을때,..