전체 글
자료구조 - 시간복잡도
연결 리스트 스택 & 큐 체인 해시 트리 정렬 시간 복잡도 시간 복잡도는 서로 다른 알고리즘의 효율성을 비교할 때 사용합니다. 시간 복잡도에는 몇 가지 규칙이 있습니다. input \geq≥ 0 functions do more work for more input drop all constants ignore lower order terms ignore the base of logs - 2n = O(n)2n=O(n) => 2n \in O(n)2n∈O(n) 규칙 1. 입력값(n)은 항상 0보다 크다. 입력값이 음수일 수는 없습니다. 그래서 복잡도는 항상 0보다 크다고 가정하고 계산 규칙 2. 함수는 많은 입력값이 있을 때 더 많은 작업. 더 많은 입력값이 주어지면 어떤 작업을 하는 데 필요한 계산이나 처리 ..
코딩테스트 유용한 사이트
우선 coding test를 공부하기위해 선수지식이 필요하다. python문법 자료구조,알고리즘 이론 coding test 사이트 codeforces topcoder leetcode codechef 국내 백준, 코드업 -문제 - 문제집 -기초 100제 백준 -온라인 저지+알고리즘을 찾아 풀기 프로그래머스 -카카오의 문제스타일,다른사람의 문제풀이 참고 sw expert academy-삼성에서 공식적으로 제공하고 있는 알고리즘 학습사이트 coding test에 유리한언어 빠른시간 c/c++, python 큰숫자,리스트,문자열을 처리하는데 있어서 매우 편리한 기능 C++나 java에 비해서 사용할 라이브러리나 코드의 수가 훨씬 적다. online 개발환경 리플릿 - 온라인 코딩테스트대회에서 많이 사용한다. 파..
1 알고리즘을 배워야하는 이유
-클라우드와 가상화등의 발전으로 컴퓨터 리소스를 제약없이 사용하는 시대에 주요 알고리즘을 몰라도 되지않을까? ->시간과 비용면에서 효율을 높일 수 있다. 알고리즘은 무엇인가? -문제나 과제를 해결하기 위한 처리 절차 -레시피 처럼 -> 과제를 해결하기 위한 절차 programing시작은 요구 설계 알고리즘이 정해진 후에는 프로그래밍해야 한다. 코딩 프로그래밍 언어를 사용하여 알고리즘을 프로그램으로 만들어 나가는 것을 말한다. team단위로 작성-사양에 맞춰 프로그래밍을 진행한다. debug 어디에 문제가 있는지 규명하여 수정 what is good algorithm ? -알기쉽다 -속도가 빠르다 -효율적이다. -재이용하기 쉽다 절차가 알고리즘이기 위한 조건 -정확한 결과를 얻을 수 있어야한다 -반드시 종..
JAVA 객체지향-클래스 인스턴스 메서드
3.2 클래스변수와 인스턴스변수 Card클래스의 큼래스변수(static변수)인 width, height는 Card클래스의 인스턴스블 생성하지 않고도 •클래스이름.클래스변수’와 같은 방식으로 사용 할 수 있다. 인스턴스가 생성될 때 마다 생성되므로 인스턴스마다 각기 다른 값 유지, 클래스 변수는 모든 인스턴스가 하나의 저장공간을 공유. 3.3 메서드 특정 작업을 수행하는 일련의 문장들을 하나로묶은 것이다. 드에 넣을 값(입력)과 반환하는 결과(출력)만 알면 되는 것이다. 그래서 메서드를 내부가 보이 지 않는 ‘블랙박스(black box)’라고도 한다. sqrt()외에도 지금까지 빈번히 사용해온 println()이나 random()과 같은 메서드들 역 시 내부적으로 어떻게 동작하는지 몰라도 사용하는데 아무런..
postgres실습,docker
C:\Users\User>createdb -U postgres function_example 암호: C:\Users\User>ipconfig psql -U postgres -d function_example -f C:/Users/User/Desktop/postgres/function_example.dump created -Upostgres cmd로 postgres암호설정 postgres=# \c function_example 접속정보: 데이터베이스="function_example", 사용자="postgres". function_example=# drop table develop_book; DROP TABLE function_example=# \dt 릴레이션(relation) 목록 스키마 | 이름 | 종류..
자바웹프로그래밍 NEXT-STEP-껍질 벗기기 학습법
이산수학,자료구조/알고리즘,네트워크,데이터베이스,운영체제,자바,서블릿/JSP,HTML.CSS.자바스클립트를 학습한 후에 접근하기 보다는 웹 애플리케이션을 개발하기 위한 최소한의 지식을 습득해 일단 만들어 보는 경험이 중요하다 -자바에 더해 좀 더 깔끔한 코드를 구현, 공통라이브러리와 프레임워크를 직접 구현 해보면서 자바를 더 깊이 있게 사용하는 경험, 객체지향 설꼐와 개발, 리팩토링 경험을 한다 -개발자는 자신이 개발한 소스코드를 효과적으로 빌드,배포하고 운영할 수 있어야한다 -내가 만든 애플리케이션이 컴퓨터내부에서 어떻게 동작하는지, 웹 블라우저와 웹 서버가 http를 통해 어떻게 데이터를 주고 받는지, 웹 애플리케이션을 개발하기 위해 알아야하는 지식에 대한 학습을 시작할 수 있는 동기부여를 할 수 있..
백준 k번째 수
//세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. //배열 A와 B의 인덱스는 1부터 시작한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N..
자바의정석 기초편 - 변수의 초기화 ~객체지향 개념 2-2
class InitTest { int x; int y = x; //인스턴스 변수 void method() { int i; int j =i;// 컴파일 에러 !! 지역변수를 초기화하지 않고 사용했음. } } class Test { int j = i; inti =10; //에러!! } -> class Test { int i =10; int j =i; }//ok 6.2 멤버변수의 초기하 1.명시적 초기화 class Car{ int door = 4;//기본형 변수의 초기화 Engine ee = new Engine //참조형 변수의 초기화 } 생성자(constructor) Cart(String color, String gearType, int door) { this color = color; this gear T..
자바의 정석 요약본 한번에 정리하기 - 객체 1-2~6. 변수으 초기화
선언위치에 따른 변수의 종류 -인스턴스 변수 =각 인스턴스의 개별적인 저장공간.인스턴스마다 다른 값 저장가능 =인스턴스 생성 후, '참조변수.인스턴스변수명'으로 접근 =인스턴스를 생성할 때 생성, 참조변수가 없을 때 가비지컬렉터에 의해 자동제거됨 클래스 변수 -같은 클래스의 모든 인스턴스들이 공유하는 -인스턴스 생성없이 '클래스이름.클래스변수명'으로 접근 -클래스가 로딩될 때 생성되고 프로그램이 종료될 때 소멸 지역변수 : 메서드 내에 선언되며, 메서드의 종료와 함께 소멸 조건문, 반복문의 블럭{}내에 선언된 지역변수는 블럭을 벗어나면 소멸 클래스변수와 인스턴스 변수 "인스턴스변수는 인스턴스가 생성될 때마다 생성, 인스턴스마다 각기 다른 값을 유지, 클래스 변수는 모든 인스턴스가 하나의 저장공간을 공유하..
자바의 정석 기초편 -요약파일 한꺼번에 정리하기 변수~객체1
자바의 정석 회독 5회째... 자바는 알면 알 수 록 어려운거 같다... 많이 구현하고, 자료구조를 풀어보는것도 도움이 되지만, 이론을 정확하게 아는 것도 중요하다고 생각한다, 이렇게 블로그에 계속 업로드하다가, 나중엔 github.io 스터디 계정으로 이론을 모와서 알기 쉽게 정리해볼 생각이다. 아직은 정리할 레벨 정도는 아닌거 같아. 블로그에 업로는 하는 정도로 만족할 것이다. https://github.com/castello/javajungsuk_basic/blob/master/javajungsuk_basic_%EC%9A%94%EC%95%BD%EC%A7%91.pdf Chapter 2. 변수(variable) / 3 Chapter 3. 연산자(operator) / 27 Chapter 4. 조건문과 반..
우테코5기미션 모음
https://github.com/BOOOO0/woowaprecourse-week2 GitHub - BOOOO0/woowaprecourse-week2: 우테코 프리코스 2주차 미션 우테코 프리코스 2주차 미션. Contribute to BOOOO0/woowaprecourse-week2 development by creating an account on GitHub. github.com https://github.com/BOOOO0/woowaprecourse-week3 GitHub - BOOOO0/woowaprecourse-week3: 우테코 프리코스 3주차 미션 우테코 프리코스 3주차 미션. Contribute to BOOOO0/woowaprecourse-week3 development by creati..
객체지향의 사실과 오해- 인터페이스, 추상화
GitHub - cheese10yun/TIL: Today I Learned. 그날 그날 모든 활동들을 정리 :octocat: Today I Learned. 그날 그날 모든 활동들을 정리. Contribute to cheese10yun/TIL development by creating an account on GitHub. github.com 인터페이스와 구현의 분리 원칙 객체 관점에서 생각하는 방법 휼륭한 객체란 구현을 모른 채 인터페이스만 알면 쉽게 상호작용할 수 있는 객체를 의미한다. 이 것은 객체를 설계할 때 객체 외부에 노출되는 인터페이스와 객체의 내부에 숨겨지는 구현을 명학하게 분리해서 고려해야 한다는 것을 의미한다. 인터페이스와 구현의 분리 원칙이 왜 중요한가? 그것은 소프트웨어는 항상 변경되..