일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 월곡역 학원
- 운영체제
- 백준 9375번 패션왕 신해빈
- 성북구 학원
- 백준 2309번 일곱 난쟁이
- 서울사대부고 학원
- 백준 1049번 기타줄
- 고정 소수점
- 백준 K보다 큰 구간
- 백준 토마토
- 백준 14246번 K보다 큰 구간
- 월곡동 학원추천
- 관리형 학원
- 백준 dfs
- 상월곡역 학원
- c++ split
- 상월곡동 학원
- OS
- 월곡중학교 학원추천
- C++ 9996
- 백준 패션왕 신해빈
- 백준 1049번
- c++ 조합
- C# 병합정렬
- 월곡중 학원
- DFS
- C++ 문자열
- 백준 10709
- 백준 한국이 그리울 땐 서버에 접속하지
- 백준 14246번
- Today
- Total
목록알고리즘/문자열 (5)
키베이루's diary
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nIHFX/btrUV3HmCy7/6kxBkykbzQXvTk43rPOsKk/img.png)
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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cVPX5f/btrUOPb8qzz/15LFA3t5DxkqbvHXUvg6MK/img.png)
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
Split은 문자열을 특정 문자열을 기준으로 쪼개어서 배열화 시키는 함수의 의미로 사용된다. C++에서는 split() 함수를 지원하지 않기때문에 직접 구현해야한다. #include #include #include #include using namespace std; vector split(string input, string delimiter) { vector ret; long long pos = 0; string token = ""; while ((pos = input.find(delimiter)) != string::npos) { // input문자열에서 delimeter을 찾는다 // 못찾는다면 이 루프는 반복된다. token = input.substr(0, pos); // substr (시작위치..