no image
QT - 기본 코드 살펴보기
들어가기 앞서프로젝트를 Widget 형태로 생성했으면 아래와 같은 형태로 나오게 된다.이는 기본 QT 응용프로그램을 구성하는 파일로 이 파일에 대해 살펴보겠다. mainwindow.hMainWindow 클래스의 헤더파일이다. 이 파일은 MainWindow 파일을 정의한다.// 헤더 파일의 중복 포함을 방지하기 위해 전처리기 지시문을 사용한다.// 헤더 파일의 내용을 한 번만 포함하도록 보장한다.#ifndef MAINWINDOW_H#define MAINWINDOW_H// QMainWindow 클래스의 헤더 파일을 포함한다.#include // QT 네임스페이스를 QT_BEGIN_NAMESPACE로 열고 QT_END_NAMESPACE로 닫는다.QT_BEGIN_NAMESPACEnamespace Ui { cla..
2024.07.05
QT - 프로그래밍의 시작
QT란?QT는 애플리케이션 프레임워크로써 리눅스, MS윈도우, 맥 OS X, 안드로이드, IOS, 블랙베리, 심비안, 타이젠, 욜라 등 모바일 서비스나 임베디드 리눅스, Windows CE같은 임베디드 영역까지 지원하는 크로스플랫폼 프레임워크이다. QT는 GUI프로그램을 쉽게 제작할 수 있도록 풍부한 위젯들과 화려한 인터페이스를 지원C++ 기반이기 때문에 C기반인 GTX+나 다른 툴킷들 보다 사용이 쉽고, 완전 객체지향을 지원하므로 프로그램의 확장이 쉽고 컴포넌트 프로그래밍이 가능하다. GUI를 보다 쉽게 만들 수 있도록 QML 언어를 제공한다. 오픈소스로 관리되는 다른 리눅스용 툴킷들은 문제 발생 시 해결할 주체가 없는 문제가 있지만, Qt는 The Qt Company에 의해 관리되므로 개발 도구나 문..
2024.07.05
no image
자바 [Algorithm] 투포인터 - 백준 11728 배열 합치기
1. 문제 2. 접근법이 문제는 정렬로 간단하게 풀 수 있다.int[] arr = new int[N+M]으로 선언하고 arr배열에 A의 배열과 B 배열의 값을 넣고Arrays.sort를 사용하면 쉽게 풀리지만 투포인터를 공부해야 하기 때문에 투포인터로 푼다. 1. A의 배열의 포인터와 B의 배열의 포인터를 선언2. A의 값과 B의 값을 비교하여 오름차순으로 result 배열에 넣는다.3. 예제 2번처럼 둘의 배열의 크기가 같지 않아 어느 배열의 뒷 값들이 남을 수 있기에 이를 처리한다. 3. 코드package week10;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.u..
2024.06.09
no image
자바 [Algorithm] 투포인터 - 백준 2018 수들의 합 5
1. 문제 2. 접근법투포인터 문제로 start와 end 변수를 선언하고sum과 count를 1로 설정한다. 그 이유는 15일때 1가지가 있으므로 1로 설정 1. sum == N일때end++, sum+=end, count++ 2. sum > N 일때sum -= start, start++ 3. sum end++, sum+= end  3. 코드package week10;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Baek2018 { public static void main(String[] args) throws IOException { Buffered..
2024.06.09
no image
자바 [Algorithm] 이분탐색 - 백준 20444 색종이와 가위
1. 문제   2. 접근법색종이를 N번 잘랐을 때, K개의 색종이를 만들어 낼 수 있는가? 가로로 X번, 세로로 Y번을 자르면 (X+1) * (Y+1) 개의 색종이가 생기게 된다. 가로로 색종이를 자를 횟수를 X라고 하면 세로로 색종이를 자를 횟수는 N-X가 된다. 즉 (X+1) * (N-X+1) = K를 만족하는 X값을 찾는다. 이분탐색을 진행하기 위해 mid = x y = N-x  3. 코드package week09;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Baek20444 { public sta..
2024.06.06
no image
자바 [Algorithm] 이분탐색 - 백준 11687 팩토리얼 0의 개수
1. 문제  2. 접근법0이 만들어지는 조건은 2*5가 존재할 때 0이 만들어진다.2는 2의 배수마다 생성되므로 5의 개수보다 항상 많아 5의 개수에 따라 0의 개수가 정해진다.5! = 120 - 2^3 * 3 * 5 : 1개10! = 3628800 = 2^8 * 3^4 * 5^2 * 7 : 2개소인수분해로 5의 개수를 구하면 된다 3. 코드package week09;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Baek11687 { public static void main(String[] args) throws IOException { Buffer..
2024.06.05
no image
자바 [Algorithm] 이분탐색 - 백준 1920 수 찾기
1. 문제 2. 접근법두 개의 배열을 비교하여 M의 배열에 N값이 있으면 1, 없으면 0을 출력하는 문제이다.이 문제도 앞 시간에 배운 Arrays.binarySearch 함수를 사용하면 쉽게 풀 수 있다.하지만 binarySearch를 사용하기 위해서는 정렬이 되있어야 하므로 N의 배열은 정렬해야한다. 3. 코드package week09;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Baek1920 { public static void main(String[] ..
2024.06.02
no image
자바 [Algorithm] 이분탐색 - 백준 10815 숫자 카드
1. 문제 2. 접근법간단한 문제이다. 4번째 카드들이 2번째 줄에 있는지 없는지 확인하는 문제!탐색 문제이고 시간 복잡도를 계산하면 2중 반복문은 안되는 걸 알 수 있었는데 대충 풀다보니 시간 초과가 나서 실패했다.Arrays.binarySearchd의 메서드를 사용하니 다시 풀 수 있었다~ Arrays.binarySearch 사용법1. 정렬된 배열에서 특정 값을 찾기 위해 사용된다.2. 이 함수는 배열에 해당 값이 있는 경우 그 인덱스를 반환하고, 없는 경우 음수를 반환한다.3. 코드package week09;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.A..
2024.06.01
no image
자바 [Algorithm] 이분탐색 - 백준 4158 CD
1. 문제2. 접근법1. 예제 입력 마지막을 보면 0 0 을 입력하면 종료가 된다. 따라서 while문 전체로 수행하고 n이 0, m이 0을 입력 받을 때 종료시켜야 한다.2. 상근 = {1,2,3} 선영 = {1,2,4} 오름 차순으로 정렬 되어있기 때문에 이분 탐색 알고리즘이 적합하다.3. 상근의 인덱스를 i로, 선영을 j로 잡고 값들이 작으면 인덱스 ++4. 상근의 값이 크면 선영이 인덱스를 ++5. 선영의 값이 크면 상근의 인덱스를 ++ 3. 코드 package week09;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;pub..
2024.05.31