일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 14246번 K보다 큰 구간
- 서울사대부고 학원
- 월곡역 학원
- 상월곡동 학원
- 백준 1049번 기타줄
- 백준 토마토
- C# 병합정렬
- C++ 문자열
- 백준 K보다 큰 구간
- 운영체제
- 백준 2309번 일곱 난쟁이
- c++ split
- 월곡중학교 학원추천
- C++ 9996
- 월곡동 학원추천
- OS
- 성북구 학원
- 관리형 학원
- 백준 한국이 그리울 땐 서버에 접속하지
- 백준 dfs
- DFS
- 상월곡역 학원
- 백준 패션왕 신해빈
- 백준 1049번
- 백준 14246번
- 백준 10709
- 백준 9375번 패션왕 신해빈
- c++ 조합
- 고정 소수점
- 월곡중 학원
- Today
- Total
목록전체 글 (96)
키베이루's diary
인터페이스 자식 클래스가 여러 부모 클래스를 상속받을 수 있다면 다양한 동작을 수행하는 장점을 가질 수 있다. 하지만 클래스를 통한 다중상속은 불가능하므로 인터페이스를 사용하면 다중상속이 가능하다. 인터페이스는 클래스 또는 구조체에 포함될 수 있는 관련 메서드들을 묶어 관리한다. 인터페이스는 명세서 역할을 하며 언터페이스를 상속받아 내용을 구현하는 클래스는 인터페이스의 선언된 멤버가 반드시 구현되어 있다는 보증을 한다. 이러한 인터페이스로 전체 프로그램의 설계도에 대한 명세서를 작성하여 뼈대를 잘 구성할 수 있다. - 인터페이스는 Interface 키워드를 사용하여 만든다. 인터페이스는 실행 가능한 코드와 데이터를 포함하고 있다. - 추상 클래스처럼 다른 클래스에 멤버 이름을 미리 정의할 때 사용한다. ..
Overload 오버로드, 오버로딩은 같은 이름의 메서드를 여러개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술이다. class OverloadingTest { public virtual void Walk() { Console.WriteLine("[부모] 걷다."); } public virtual void Walk(int count) //오버로드 { Console.WriteLine("[부모] {0}번 걷다", count); } public virtual void Walk(string where_) //오버로드 { Console.WriteLine("[부모] {0}에서 걷다", where_); } } internal class Class1 { public static void Main(String[]..
객체지향 프로그래밍(OOP : Object - Oriendted Programming) 모든 것을 객체로 보고 객체들끼리 역할, 책임, 협력 등 객체들의 관계를 중심으로 프로그래밍하는 기법 객체지향 프로그래밍의 목적 - 프로그램을 분석하기 쉬워진다. - 프로그램 유지보수가 쉬워진다. - 프로그램의 특정 기능을 재사용할 수 있다. 객체지향의 특성 캡슐화(Encapsulattion) 객체의 속성과 행위를 하나로 묶고 구현 내용 일부를 외부에 감추어 은닉할 수 있다. 상속(Inheritance) 상위 클래스의 속성과 행위를 상속 받을 수 있다. 하위 클래스는 필요한 특성을 추가하여 사용 추상화(Abstraction) 상세한 정보는 무시하고 필요성에 의해 있어야할 정보들만 간추려서 구성하는 것으로 공통점 추출 ..

1) 문제설명 2) 아이디어 앞에있는 의상의 이름은 고려할 필요없이 뒤에있는 의상의 종류만 고려하면 된다. -> MAP을 사용 첫번째 예제의 경우 (hat), (turban), (sunglasses), (hat,sunglasses), (turban, sunglasses)으로 5개 headgear, headgear, X(아무것도 입지 않음) eyewear, X 로 경우의수를 계산하여 3 * 2 = 6에 아무것도 입지않았을때 (X,X)를 빼버리면 된다. 6 - 1 = 5 두번째 예제의 경우 (mask), (sunglasses), (makeup)으로 3개 FACE, FACE, FACE, X X 4 * 1 = 4에 (X,X)일때를 빼면 4 - 1 = 3 3) 코드 #define _CRT_SECURE_NO_WAR..
Map Map은 고유한 key를 기반으로 key와 value 쌍으로 이루어진 컨테이너이다. (key-value) *레드 - 블랙 트리로 구현되어있어서 삽입, 삭제, 수정, 탐색이 O(logN)의 시간복잡도를 가진다. Map은 자료를 저장할 때 내부에서 자동으로 오름차순으로 정렬하고 고유한 key 값을 갖기 때문에 하나의 key 값에 중복된 값이 들어갈 수 없으며 대괄호 연산자 []로 해당 키로 직접 참조가 가능하다. C++ 에서 Map 사용 #include map 이름 #include map mp; *레드-블랙트리 : 균형 이진 검색 트리이며, 삽입, 삭제, 수정, 탐색에 O(logN)의 시간 복잡도가 보장된다. insert({key,value}) : map에 key와 value를 집어 넣는다. stri..

1) 문제설명 https://www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net 2) 아이디어 문자열을 분리하는 split을 사용하여 *을 기준으로 앞부분을 prefix, *의 뒷부분을 suffix로 나누어 prefix가 입력받는 문자열(result)의 앞 부분에 위치하고 suffix가 입력받는 문자열(result)의 뒷부분에 위치한다면 DA를 출력 그렇지 않다면 NE를 출력하였다. ★ prefix와 suffix로 나눈 부분이 ..
string 문자열을 표현하는 방법에는 2가지가 있다. char s[10]; string a; string에서 많이 사용하는 메서드 #include using namespace std; int main(){ string a = "love is"; a += " pain!"; a.pop_back(); cout

1) 문제설명 https://www.acmicpc.net/problem/14246 14246번: K보다 큰 구간 n개의 자연수로 이루어진 수열이 주어질 때, 특정 구간 [i,j](i≤j)의 합이 k보다 큰 모든 쌍 i,j의 개수를 출력하시오. www.acmicpc.net 2) 아이디어 presum(누적합)을 이용하여 presum배열에 누적된 합을 저장하고 그것을 이용해서 구간의 합을 구한다. 구간의 합이 K보다 큰 경우에만 while문을 진입하여 k보다 큰 쌍의 개수를 +1 한다. ★ 실행이 O(n^2)이 되지 않게 구현해야한다. 3) 코드 #include #include #include #include using namespace std; long long presum[100001]; long long..