분류 전체보기

    [Java] GUI 프로그래밍

    17. GUI 프로그래밍 17.1 자바의 GUI 프로그래밍 기술 TUI - Text-based User Interface 텍스트 기반의 인터페이스 GUI - Graphical User Interface 그래픽 기반의 인터페이스 17.1.1 AWT(Abstract Window Toolkit) GUI 프로그래밍을 위한 도구 GUI 프로그래밍에 필요한 다양한 컴포넌트를 제공 Java와 C로 구현 17.1.2 Swing AWT를 확장한 GUI 프로그래밍 도구 AWT보다 더 많은 종류의 컴포넌트를 제공 순수한 Java로 구현 17.2 화면 구성 요소 17.2.1 Component와 Container Component: 화면 구성 요소 Container: 다른 컴포넌트를 담을 수 있는 컴포넌트(그릇 역할) 17.2..

    String Class

    String Instance is ? ∴ String Instance is Immutable instance. equals ㄴ Concatenating

    [Java] 멀티스레드

    16. 멀티스레드 16.1 프로세스(Process)와 스레드(Thread) 16.1.1 작업관리자에서 프로세스와 스레드 확인 16.1.2 프로세스(Process)와 스레드(Thread) 프로세스(Process): 실행중인 프로그램 스레드(Thread): 프로세스 내에서의 작업 단위 16.1.3 프로세스의 메모리 구조 16.2 Single Thread와 Multi Thread 16.3 Multi Thread를 사용해야 하는 경우 16.3.1 GUI 프로그래밍 GUI 프로그래밍에서는 main Thread에서만 UI를 그리거나 갱신할 수 있음 16.3.2 시간이 오래 걸리는 작업 시간이 오래 걸리는 작업의 경우 ANR(Application Not Responding) 현상을 방지하기 위해 백그라운드에서 실행되..

    Inheritance

    Inheritance 연관된 일련의 class들에 대해 공통적인 규약을 정의할 수 있다. ㆍ 상속의 대상이 되는 클래스- 상위 클래스(super class) / 기초 클래스(base class) / 부모 클래스(parent class)- 하위 클래스 / 유도 클래스 / 자식 클래스 자바는 프로그램이 복잡해지는 것을 막기 위해 다중 상속이 아닌 단일 상속만을 지원한다. 12345678910111213141516171819202122class AA { public void display() { System.out.println("I'm AA!"); } } public class InherTest01 extends AA { public static void main(String[] args) { InherTe..

    [DAY 10] Stack And Queue

    Stack의 개념Stack은 쌓아 놓은 접시와 같은 자료구조다마지막에 쌓은 접시가 먼저 사용되듯, 나중에 입력된 자료가 먼저 처리된다이것을 후입선출(LIFO : Last In First Out)이라 부른다 Push : 스택에 자료를 넣는 동작이다Pop : 스택에서 자료를 꺼내는 동작이다 Stack 분석스택은 1차원 배열을 사용하여 구현한다. 스택의 방식을 살펴보자(그림)#. Stack은 Shift를 할 필요가 없다! top 포인터가 마지막을 가리키고 있으면 full이고 처음을 가리키고 있으면 empty다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606..

    [DAY 09] Sort

    1.1.1 정렬이란? 순서 없이 배열된 자료를 작은 것부터 큰 것 순서인 오름차순이나 큰 것부터 작은 것 순서인 내림차순으로 재배열하는 것 1.1.2 키(key)란? 자료를 정렬하는 데 사용하는 기준이 되는 특정값 1.2 정렬을 왜할까? '검색' 때문!검색을 얼마만큼 효율적으로 빨리 할 수 있느냐가 관건이다. Bubble Sort(버블 정렬) : 키를 비교하고 교환하여 정렬하는 방식(교환 방식)버블 정렬(Bubble Sort)은 실무에서 많이 쓴다.왜? 코드짜기 편하니까But, 성능은 최악이다 - "인접"한 원소를 두 개 비교하여 자리를 교환하는 방식을 반복하여 정렬한다. 버블정렬을 수행하면 인접한 처음 두 개 원소부터 인접한 마지막 원소까지 비교하는 작업과 자리를 교환하는 작업을 반복하면서 가장 큰 원..

    [DAY 07] Recursion

    Factorial은 자기 자신보다 같거나 작은 모든 수를 곱한 값이다. ex. 5! = 5 x 4 x 3 x 2 x 1 = 120 Factorial은 반복문 또는 재귀호출을 이용하여 구현할 수 있다. 위의 두 가지 방법으로 작성하시오. 123456789101112131415161718192021#define _CRT_SECURE_NO_WARNINGS#include int Factorial(int n){ // 재귀호출의 탈출조건 if (n == 1) return 1; return n * Factorial(n - 1);} void main(){ int num, res; printf("Input number : "); scanf("%d", &num); res = Factorial(num); printf("%d..

    주말숙제

    1. 다음 문제의 출력 결과를 쓰시오. (10점)(이 문제에서 double 타입의 크기는 8byte로가정, a : 0x1234)voidmain(){ double a[10] = { 0 }; printf("%p\n", a + 1); printf("%p\n", a + 2); printf("%p\n", a + 3); printf("%p\n", a - 1); printf("%p\n", a - 2);}1242 / 1250 / 1258/ 1226 / 1216 2. 다음과 같이 출력되도록 (////) 의 코드를 작성하시오. (10점)1 01 0 10 10 1 01 01 0 10 10 1 01 0 1 0 1 intmain(){ intarr[5][5] = { 0 }; int i,j; (///////////////////)..

    [DAY 06] Binary Search Tree

    Program 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166..

    [DAY 05] Tree

    Linked List 복습노드를 어떻게 연결시킬가가 관건이다그 연결은 포인터로 한다 (삽입, 삭제 등의 알고리즘만 알고 있으면 할 수 있다) Treeㅇ Recursion자기 자신도 함수이기 때문에 자신을 호출하는 것을 재귀함수라 한다.내가 나를 부르는 것을 재귀호출이라 한다. Binary Search Tree1. 트리의 특징은 절대 같은 값을 넣으면 안된다.2. 왼쪽 자식의 노드는 자신의 부모 기준으로 작은 값이 들어와야 한다.3. 오른쪽 자식의 노드는 자신의 부모 기준으로 큰 값이 들어와야 한다. 모든 자료구조에서 삭제가 제일 중요하다! 삭제 알고리즘1. 노드의 자식이 0개 있는 경우2. 노드의 자식이 1개 있는 경우3. 노드의 자식이 2개 있는 경우 1234567891011121314151617181..

    [Algorithm] Baby Gin

    Baby Gin은 카드로 게임을 한다.각 카드는 0 에서 9 까지의 수가 쓰여져 있다.게이머는 6 장의 카드를 받는다. 받는 사람이 Baby Gin을 가진다면 이 게이머가 이기고 아니면 진다.Baby Gin을 가지기 위해서는 모든 6장의 카드가런(runs)이거나, 트리플리트(tripletes) 이여야 한다. • 런이라는 말은 3장의 카드가 연속적인 번호를 말한다.ex. 345 혹은 789 .., 단, 901 은 런이아니다.• 트리플리트는 같은 번호를 가지는 세장의 카드를 말한다.ex. 000 혹은 444, ... 몇 가지 예를 보면,• 667767 은 Baby Gin이다. 두 개의 트리플리트(666, 777)• 054060 은 Baby Gin이다. 하나의 런과 하나의 트리플리트• 101123 은 Baby..

    [DAY 04] Doubly Linked List

    (오후) 링크가 잘 걸려있는지 항상 체크하여야 한다. 삽입, 삭제가 빈번할 때는 절대로 배열을 쓰지 않는다. 더블 링크 리스트 장점검색 효율이 좋다유지 보수성이 좋다 linked list는 검색 알고리즘이다. ------답 주석while(pos>count || posnext = NULL; root->prev = NULL; do { puts("========== MENU =========="); puts("1. 추가"); puts("2. 출력"); puts("=========================="); printf("뭐 할래? : "); scanf("%d", &num); switch (num) { case 1: // 입력 Insert(root); break; case 2: // 출력 Display..