일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 큐
- 링크드리스트
- DP
- 완전 탐색
- 빠른 입출력
- 재귀
- 분할 정복
- 중복 순열
- SSAFY
- 그리디
- 크루스칼
- 문자열
- 세그먼트 트리
- MST
- 우선순위 큐
- 조합
- lis
- Knapsack
- 순열
- 이분 탐색
- 비트마스크
- dfs
- 메모리풀
- 피보나치 수
- 스택
- 백트래킹
- BeautifulSoup
- 클래스
- BFS
- 시뮬레이션
- Today
- Total
목록문자열 (7)
작심 24/7
16890번: 창업 입력은 길이가 N(1 ≤ N ≤ 300,000)인 문자열 두 개로 이루어져 있다. 모든 문자열은 알파벳 소문자로만 이루어져 있다. 첫 번째 줄에 주어지는 문자열은 구사과가 고른 문자이고, 두 번째 줄에 주�� www.acmicpc.net 구사과는 사전 순으로 가장 앞서게 만들고 싶어 하므로 오름차순 정렬한다. 큐브러버는 사전 순으로 가장 뒤에 오게 만들고 싶어 하므로 내림차순 정렬한다. 회사의 이름은 N개의 문자열로 이루어져 있고 고르는 순서는 항상 구사과가 먼저이므로 구사과 문자열에서 (N+1)/2개, 큐브러버 문자열에서 N/2개 를 골라야 한다. ex) koooosaga → aagkoooos cubelover → vuroleecb 1번째 - 구사과 차례 aagko 에서 제일 작은 ..
16500번: 문자열 판별 첫째 줄에 길이가 100이하인 문자열 S가 주어진다. 둘째 줄에는 A에 포함된 문자열의 개수 N(1 ≤ N ≤ 100)이 주어진다. 셋째 줄부터 N개의 줄에는 A에 포함된 단어가 한 줄에 하나씩 주어진다. A에 �� www.acmicpc.net 문자열 S를 처음부터 탐색하면서 현재 idx부터 목록 A에 있는 단어가 포함돼 있으면 재귀 호출로 (idx+단어 길이)번째부터 목록 A에 있는 단어가 있는지 탐색한다. 이때 dp[idx]가 true면 이전에 이 idx부터 시작되는 단어를 탐색해봤다는 뜻이므로 굳이 또 계산할 필요 없이 return으로 돌아온다. dp[idx]가 false면 처음 탐색한다는 뜻이므로 true로 바꿔주고 탐색하러 간다. idx와 문자열 S의 길이가 같다면 성..
5076번: Web Pages Input will consist of a number of lines of HTML code, each line containing from 0 to 255 characters. The last line will contain a single # character – do not process this line. Within the text of each line will be zero or more tags. No angle bracket will www.acmicpc.net 문제의 조건들을 나열해보면 1. 열린 태그와 닫힌 태그의 쌍이 맞아야 한다. (X) (O) 2. 한 태그 안에서 열고 닫을 수 있다. 3. 열린 태그 안에 문법이 들어갈 수 있다. 4. 올바르지 못..
코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브�� programmers.co.kr 먼저 각 문자열을 두 글자 단위로 나누어 각 벡터에 넣어준다. 이때, 영문자 외의 문자가 포함되면 계산에서 제외해주므로 벡터에 영문자인지 아닌지 체크해준 int값을 하나 더 넣는다. 벡터 A와 벡터 B가 중복되는 원소들을 각각 카운트 해준 뒤 합집합(Max)과 교집합(Min)을 계산해주고 형식에 맞게 출력해주면 끝 #include #include #include using namespace std; int solution(string s..
코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램�� programmers.co.kr level 2 길래 가벼운 마음으로 시작했다가 무거운 마음으로 겨우 끝냈다. 문제의 조건을 꼼꼼히 읽어봤으면 더 빨리 끝낼 수 있었을까..? 1. HEAD를 비교할 때 소문자로 바꾸어 준다 2. NUMBER는 최대 5개의 숫자로만 이루어져 있다 3. NUMBER의 앞부분에 0이 있으면 일단 size를 체크해 뒀다가 나중에 출력 시 앞에 더해준다 4. HEAD, NUMBER, TAIL의 구분을 명확히 해야 한다 ex) aBc009dd78 -> HEA..
- 2018년도 게시글 10808번: 알파벳 개수단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.www.acmicpc.net처음에 cin.getline(S, 101); for문 돌리는 수를 101까지로 잡아주니까 틀렸다고 했다. 그래서 getline방식을 바꿨다. 에 있는 getline() 함수 string str; getline(cin,str); //표준 입출력#include #include using namespace std; int main() { string S; getline(cin, S); int alpha[26] = { 0 }; for (int i = 0; i < S.size(); i++) { alpha[(int)S[i] - 97]++; } for ..
- 2018년도 게시글 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net getline함수 - 최대 버퍼 사이즈(101)만큼 a에 값을 키보드에서 입력받는다(공백까지) cin.getline(char*,buffersize); a의 크기를 100으로 하면 틀렸다고 한다 문자열이라서 그런가? #include #include using namespace std; int main() { char a[101]; int count = 0; while (count