본문 바로가기

전체 글

[Java 4일차] 생성자 1. Class 형식 1) class 형식 class A { int i; //필드 변수(A내 모든 메소드 사용 가능) void m(int j) { // } 2. 생성자 형식 및 특징 0) Department class 형식 1) 생성자 정의 2) 생성자 선언 1. Department d1 = new Department(); //기본 생성자(default constructor) - 클래스명 참조변수(=주소값) = new 생성자; - d1은 오른쪽 department의 복사본의 주소를 가지고 있다. 즉, 참조변수이다. 2. Department d2 = new Department(10,"인재개발부", "최인재"); - 생성자가 객체를 초기화 시펴줌. 초기화 값을 생성자의 매개변수로 넣을 수 있다. - 단, D.. 더보기
[Java 2일차] 배열 1. 배열 변수 선언(어떤 타입이고, 어떤 변수명으로 할지) - 데이터타입 [] 배열 변수명; - 데이터 타입 배열 변수명[...]; ex) int array[]; 또는 int[] array; //선언만 하므로 개수는 들어가지 않음 2. 배열 변수 생성(memory에 할당) - array = new int[3]; // 앞에 선언된 array 타입과 생성할 타입이 같아야 한다. - new :memory에 int data 3개를 저장할 array를 만들것이다. - int 형은 초기값 0 - index는 0이상, array.length 미만 -String names[] = new String[5]; //로 선언과 동시에 생성이 가능하다. 3. 배열 변수 초기화 -array[0] = 100; array[1] =.. 더보기
[Java 1일차]Java 기본 & 설치 1장 : Java 소개 1. 안드로이드 앱 & 웹 사이트 & pc 실행 프로그램 등 여러 사용이 가능하다. 2. 1995년 c,c++문법과 유사하다. 3. C언어와 Java의 차이 - C : platform 종속적 & 웹 사이트에 특화된 언어 ( 프로그램을 제작할 때 OS를 결정 후, OS에 따라 프로그램을 다르게 작성해야 했다. => HW + OS 를 하나의 컴퓨터 platform이라고 하는데, platform마다 프로그램이 달라진다.) -Java : platfrom 독립적 2) Java 객체 지향의 조건 1> 캡슐화와 정보은닉 2> 3> 다형성 => 여러 모양으로 만들 수 잇다. 3-1> overloading 3-2> 2장 : Java 실행 1. jdk tool 설치 : (8버전 ~최근엔 13버전까지.. 더보기
[11000]강의실 배정 3. 유의 할 것 - 입력값이 20만개 이므로 logN형 자료구조를 사용해야 한다. - 나는 시간을 줄이기 위해서 주로 map,set을 사용했는데 set의 경우 균형 이진 트리이므로 검색은 빠르지만 삽입 & 삭제가 느리다. (삽입,삭제는 log(N)) - 우선순위 큐는 Heap을 사용하므로 set보다 더 빠르다. 삽입 삭제도 logN 이므로 따라서 우선순위 큐를 자주 쓰도록 하자. 4. 코드 더보기 #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int N,s,e; vector v; cin >> N; for(int i=0;i> s >> e; .. 더보기
[Lev.2] 수식 최대화(C++) 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 � programmers.co.kr 2. 접근 방법 1) 우선 "숫자"와 "연산자"를 나누어 준다. 2) 연산자 별 우선순위 경우의 수를 next_permutation으로 만들어서 각 경우의 수 별로 연산을 수행한다. 3) 우선순위에 해당하는 연산자를 발견하면, 연산자 기준 양 옆의 숫자를 연산하여 연산 결과를 다시 list에 넣는다. -> 중간에 삽입/삭제가 자주 있으므로 lis.. 더보기
[Lev.3] 경주로 건설 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 2. 접근 방법 1. dfs 혹은 bfs로 풀 수 있다. 나는 재귀 연습을 .. 더보기
[16235]나무 재테크(C++/구현) 1. 문제 https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net 2. 접근 방법 1. 특별한 알고리즘을 써야 한다기 보단 구현 문제이다. 구현일 수록 사용할 자료구조 선택, index 의미에 유의하자! 2. 문제의 조건 & 제약 사항을 파악하자 (다음은 문제를 읽으면서 생각한 흐름) 1) 한 칸에 "여러 개"의 나무가 있을 수 있다. => "container형 이차원 배열 사용해야 겠다." 2) 양분을 먹을 때, 나이가 어린 나무부터.. 더보기
[백준] DP > 1. DP의 정의 & 속성 동적 계획법: 큰 문제를 작은 문제로 나눠서 푸는 알고리즘 두 가지 속성을 만족해야 DP로 풀 수 있다 -optimal substructure: 문제의 정답을 다른 문제의 정답에서 구할 수 있음 ex) 피보나치 -overlapping subproblem: 겹치는 부분 문제 ( 작은 문제로 N-1과 N-2번째 수를 구하는 것) ex)서울->부산 가는 가장 빠른 길: 서울->대전-> 대구->부산 이면, 대전->부산을 가는 가장 빠른 길은 대전->대구->부산이다. 2. 문제 스킬 1) 각 문제는 한 번만 풀어야 한다. 2) 같은 문제는 구할 때마다 정답이 같다. 정답을 어딘가에 메모해두자(memorization) 3) 문제에서 구하려고 하는 답을 문장으로 나타낸다. 4) 문장에 .. 더보기