본문 바로가기

Algorithm350

[프로그래머스]2019 KAKAO BLIND RECRUITMENT : 무지의 먹방 라이브 (level 4) (c++) programmers.co.kr/learn/courses/30/lessons/42891 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr 정렬 #include #include #include #include using namespace std; using ll = long long; struct food { int idx; ll time; }; bool comp_by_time(food &A, food &B) { return A.time < B.time; } bool comp_by_idx(food& A, food& B) { return A.idx < B.idx; } int solution(vector food_times, long long k) { // {인덱스, 시간} 벡터 생성 v.. 2020. 9. 6.
[BOJ]16916번: 부분 문자열 (c++) www.acmicpc.net/problem/16916 16916번: 부분 문자열 첫째 줄에 문자열 S, 둘째 줄에 문자열 P가 주어진다. 두 문자열은 빈 문자열이 아니며, 길이는 100만을 넘지 않는다. 또, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net KMP 문자열 알고리즘 #include #include using namespace std; // Prefix Index 배열 만들기 vector make_pi(string &pattern) { int len = pattern.size(); vector pi(len); for (int i = 1, j = 0; i 0 && pattern[i] != pattern[j]) { j = pi[j - 1.. 2020. 9. 5.
[BOJ]17406번: 배열 돌리기 4 (c++) www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net 구현 + 브루트포스 //https://www.acmicpc.net/problem/17406 #include #include #include #include using namespace std; template using d_vector = vector; // r, c : 회전하는 사각형의 가장 왼쪽 윗칸 struct rtt_info { int r, c, s; }; int get_m.. 2020. 9. 4.
[BOJ]9935번: 문자열 폭발(c++) www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모� www.acmicpc.net deque 사용 #include #include using namespace std; struct b_char { char c; int b_idx; }; string removeBomb(string &str, string &bomb) { string answer; deque dq; // str문자열 탐색 for (char c : str) { /* c가 bomb의 첫번째 or deque의 back.. 2020. 9. 4.