일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- System
- CLASS
- function
- jsp
- CSS
- request
- 악성코드
- c++
- Kafka
- 포인터
- 투자
- meta
- beans
- JavaScript
- windows
- query
- C
- 노드
- array
- HTML
- Sort
- 자료구조
- 윈도우즈
- java
- API
- WebProgramming
- OOP
- Call-by-reference
- UTF-8
- algorithm
- Today
- Total
목록hahahia (109)
hahahia
/*made by hahahiamain.cpp */ #include #include #include #include #include #include #include using namespace std; int main(){ int result = 0; string str; cin >> str; int e=1; for(int i=str.length()-1; i>=0; i--) { for(int j=0; j
프로그램 명: minterval제한시간: 1 초서로 다른 정수의 값이 일렬로 주어졌을 때, 가장 큰 합을 가지는 부분 구간을 구하시오. 여기서 부분구간이란 연속된 구간을 의미한다.예를 들어, 다음과 같은 값이 주어지면,-2 9 2 -6 7 -7 5최대 구간은 [9 2 -6 7]이며, 합은 12 이다.입력입력의 끝은 0 으로 인식한다.수의 개수는 2,000 개를 넘지 않는다.출력최대 구간의 합을 출력한다.입출력 예입력 -2 9 2 -6 7 -7 5 0 출력 12출처 | dovelet 대표적인 dynamic programming이라고 볼 수 있겠습니다.. 이걸 모든 경우로 구하려고하면 엄청나게 시간소모가 될 꺼 같지만적당한 점화식을 구해서 구해보면 적은 시간에 답을 뽑아낼 수 있겠죠......dynamic ..
사실 이번학기 자료구조를 수강하는데 첫시간부터 리스트 구현을 했어요...ㅎㅎ제 블로그 보시면 이전에 더블 링크드 리스트 구현을 했었는데 기억도 가물가물하고복습할 겸 다시 포스팅해봐요 ㅎㅎ간단한 기능부터 시작해서 추가 기능을 구현하는 식으로 포스팅 할께요. 일단 음... 단방향 리스트부터 ㅋㅋ노드 추가 및 삭제(오직 head 부분에서만) 그리고 현재 리스트 출력, 리스트 길이 출력 기능 /* 단방향 리스트 구현 made by hahahia */ #include using namespace std; class Node{ // node class public: int value; Node* Next; Node(int input){ value = input; } }; class List{ // list clas..
음 보통 알고리즘 문제 풀거나 계산을 많이 하는 과정에서 *2를 하거나 /2를 하는 계산이 꽤나 많이 있는데....(2의 n승 전부)보통은 a *= 2, 또는 a /= 2 이런식으로 곱하기 나누기를 하지만 사실은 그것보다 더 시간을 빠르게 사용하여 계산을 할 수 있다.그것이 바로 쉬프트연산!!!!!!!!! 간단하게 숫자 5로 예를 들어보겠습니다. 숫자 5를 2진수로 나타내면(8bit) 0 0 0 0 0 1 0 1 이런식으로 나타나겠죠??그럼 이 숫자 5에다가 2를 곱해보겠습니다. 그러면 5 * 2 = 10 이 되겠죠이 숫자 10을 다시 2진수로 나타내보도록 하겠습니다 0 0 0 0 1 0 1 0 자 여기서 벌써 알아보신분들도 계실텐데...(아닌가 ㅎㅎ) 1이 있는 비트들이 왼쪽으로 한칸씩 이동한 것을 볼..
Template Function- 인수나 반환값의 형을 모호한 상태로 정의- 호출하는 쪽에서 지정한 인수의 형에 맞춰 함수 내에서 사용하는 변수의 형을 바꿀 수 있다. 템플릿 사용을 안할 경우=> 함수 오버로딩 기능을 이용(OOP, 다형성)하여 각각 형태에 따른 이름이 같지만 리턴형이 다른 함수를 각각 만들어줘야 합니다. /* not use Template functionmade by hahahia */#include using namespace std; int getMax(int a, int b){ int buf; if(a > b) buf = a; else buf = b; return buf; } double getMax(double a, double b){ double buf; if(a > b) bu..
상속(Inheritance)의 사전적 의미는 자식이 부모가 가진 모든 것을 물려 받는 것을 의미하는데 OOP의 상속도 기본적인 의미는 동일하다. 이미 정의되어 있는 클래스의 모든 특성을 물려 받아 새로운 클래스를 작성하는 기법을 상속이라고 한다. 흔히 상속은 이미 만들어진 클래스를 재활용하기 위한 기법으로 소개되며 재활용이 상속의 가장 큰 장점이기는 하지만 상속에 의해 부차적으로 발생하는 효과도 있다. 상속을 하는 목적 또는 상속에 의한 효과는 다음 세가지로 간략하게 요약할 수 있다. ① 기존의 클래스를 재활용한다. 가장 기본적인 효과이다.② 공통되는 부분을 상위 클래스에 통합하여 반복을 제거하고 유지, 보수를 편리하게 한다.③ 공동의 조상을 가지는 계층을 만듬으로써 객체의 집합에 다형성을 부여한다.- ..
사실 포함을 설명하는 이유는 다음에 이어갈 상속과 관련해서 볼 때 도움이 될꺼같아서 이렇게 포스팅을 합니다.... 객체가 다른 객체를 멤버변수로 사용하고 있는 것을 포함 이라고 합니다/* Class 포함 예제 made by hahahia */ #include using namespace std; class point{ /* x,y 좌표를 나타내는 간단한 클래스 */ private: int x,y; public: point(int _x,int _y): x(_x),y(_y) {}; /* C++ Style(= {x = _x; y = _y;} */ int getX() const { return x; } int getY() const { return y; } }; class rectangle{ // rectang..
연산자 오버로딩(Operator Overloading) 이란?- C++에서 연산자가 하는 일을 함수로 개인의 필요에 맞게 구현한 것.- operator 형태. 이항 연산자의 경우 좌측의 연산자의 피연산자는 호출하는 객체가 될 것이고, 우측의 피연산자는 인수가 된다. 지금 예제에서는 간단히 입력하는 연산자 >> 와 출력하는 > (istream &, Student &); /* Operator overloading(input, output) */ friend ostream &operator > (istream & in, Student & stu){ cout > stu.Name; cout > stu.Number; return in; } ostream &operator