728x90

분류 전체보기 636

윈폼(Winform)에서 폼보더스타일(FormBorderStyle)이 None일 때, 폼 드래그 구현

윈폼에서 폼보더스타일이 None이면 상단에 있는 제목 표시줄이 사라지면서, 폼을 마우스로 드래그해서 옮길 수 없다. 그렇다고 다른 옵션을 선택하기에는 원하는 디자인을 만들 수 없기 때문에 None 옵션을 유지하면서 마우스 드래그 기능을 추가해야 하는데, 간단하게 해결할 수 있다. MouseDown과 MouseMove 이벤트를 이용해서 드래그 기능을 구현할 수 있다. private void MainForm_MouseDown(object sender, MouseEventArgs e) { mousePoint = new Point(e.X, e.Y); } private void MainForm_MouseMove(object sender, MouseEventArgs e) { if ((e.Button & MouseB..

웹에서 디자인할 때 쓸만한 아이콘 폰트 모음

세 가지를 써봤다. 정확히는 세 가지 중 두 가지만 써봤고, 하나는 안드로이드 앱의 아이콘으로 사용했었지만, 웹에서도 아이콘 폰트로 사용할 수 있다고 한다. Font Awesome https://fontawesome.com/ 과거에 포트폴리오 템플릿 여러 가지를 찾아볼 때, 많이 접하던 아이콘 폰트였다. GPL 라이선스를 따르기 때문에 조금 주의해야 한다. 아이콘도 많고, 브랜드 로고도 있어서 유용하게 사용할 수 있다. XEIcon https://xpressengine.github.io/XEIcon/ 한글화가 되어 있으며 LGPL 라이선스이기 때문에 무리 없이 사용이 가능하다. 현재 필자의 포트폴리오 사이트에서 사용하고 있는 아이콘 폰트가 이 아이콘 폰트다. font-awesome에 비해서 유명 브랜드 ..

[WPF] Grid 레이아웃과 Col, Row를 이용해서 WPF의 윈도우 레이아웃 짜기

개인적으로 WPF를 이용해서 간단한 윈도우 응용 프로그램을 만들어 보고 있는데, 여기서는 레이아웃을 XAML로 작성한다. 국내에는 WPF 관련한 자료가 많은 편은 아니고, 닷넷은 아무래도 MSDN 문서가 많은 걸 알려주어서 애용하는 편이다. https://docs.microsoft.com/ko-kr/dotnet/framework/wpf/controls/how-to-create-a-grid-element? Grid 레이아웃을 다루는 기초적인 방법으로, Grid.RowDefinitons, Grid.ColDefinitions을 이용해서 행과 열의 개념을 가진 표(Table)처럼 레이아웃을 다루는 방법이 있다. 픽셀(px)를 이용하는 절대적인 크기가 아니라 상대적인 크기 비율만 조정하고 싶을 때는 *을 이용한다..

백준] 4597 - 패리티(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 여러 개의 비트 스트링으로 이루어져 있다. 각 비트 스트링은 한 줄로 이루어져 있고, 길이는 1~31비트이다. 또, 비트 스트링의 마지막 문자는 e 또는 o이다. (e: 짝수 패리티, o: 홀수 패리티) 마지막 줄에는 '#'이 주어진다. 출력입력으로 주어진 각각의 비트 스트링에 대해서, 마지막 문자를 올바른 비트로 바꾼 비트 스트링을 출력한다. 소스코드 #include #include using namespace std; int main(void) { while (1) { int one = 0, len; string str; cin >> str; if (str == "#") break; len = str.length(); for (int i = 0;..

백준] 1731 - 추론

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 수열의 길이 N이 주어진다. 둘째 줄부터 N개의 줄에 수열의 각 원소가 차례대로 주어진다. 주어지는 수열은 등차수열이나 등비수열 중에 하나다. N은 항상 3 이상 50이하이며, 입력되는 수는 10^6 이하의 자연수이다. 출력첫째 줄에 수열의 다음 원소를 출력한다. 이 수는 20억보다 작거나 같다. 소스코드 #include #include using namespace std; int main(void) { int n; long long q, next; cin >> n; vector arr(n); for (int i = 0; i > arr[i]; if (arr[0] * arr[2] == arr[1] * arr[1]) { q..

데이터베이스(DB)와 DBMS의 특징과 정의

데이터베이스(DB; Database)어느 한 조직의 다양한 응용 프로그램들이 공동으로 사용하는 데이터들을 통합해 저장하고 운영하는 데이터의 집합. 정의에 함축된 개념공용 데이터(Shared Data)한 조직의 여러 응용 프로그램이 공동 사용여러 사용자가 서로 다른 목적으로 공유 통합된 데이터(Integrated Data)여러 부서에서 사용하는 데이터를 한 곳에 모아 공동 관리최소한의 중복, 통제된 중복 저장된 데이터(Stored Data)컴퓨터가 접근 가능한 저장 매체에 저장 운영 데이터(Operational Data)조직의 운영에 기본적으로 반드시 필요한 데이터를 저장고유한 기능을 수행하는데 필수적인 데이터를 저장 특징실시간 접근성(Real-Time Accessibility)질의(Query)에 대한 실..

백준] 1992 - 쿼드트리

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1≤N ≤64의 범위를 가진다. 두 번째 줄부터는 길이 N 의 문자열이 N 개 들어온다. 각 문자열은 0 또는 1의 숫자로 이루어져 있으며, 영상의 각 점들을 나타낸다. 출력영상을 압축한 결과를 출력한다. 소스코드#include #include #include using namespace std; vector tree; void quadtree(int row, int col, int n) { if (n == 1) { cout input[i]; for (int i = 0; i < n; i++) { tree.push_back(vector(n, 0)); for (i..

백준] 7568 - 덩치(한국정보올림피아드 2013;KOI 2013 지역본선)

시간 제한 : 1초메모리 제한 : 128MB 입력첫 줄에는 전체 사람의 수 N이 주어진다. 그리고 이어지는 N개의 줄에는 각 사람의 몸무게와 키를 나타내는 양의 정수 x와 y가 하나의 공백을 두고 각각 나타난다. 단, 2 ≤ N ≤ 50, 10 ≤ x,y ≤ 200 이다. 출력여러분은 입력에 나열된 사람의 덩치 등수를 구해서 그 순서대로 첫 줄에 출력해야 한다. 단 각 덩치 등수는 공백문자로 분리되어야 한다. 소스코드#include #include #include using namespace std; struct person { int weight; int height; int bigger; int originIdx; }; int compareBigger(const struct person a, cons..

728x90