본문 바로가기

Algorithm350

[프로그래머스]힙(Heap) : 더 맵게(level 2) (c++) https://programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; int solution(vector scoville, int K) { // 최소 힙에 scoville 요소 담기 priority_queue pq(scoville.begin(), scoville.end()); // 힙의 최소값이 K 이상이 되면, 섞은 횟수 반환 int answer = 0; while (!pq.empty() &.. 2020. 5. 13.
[프로그래머스]2020 KAKAO BLIND RECRUITMENT : 괄호 변환 (level 2)(c++) https://programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; // 문자열의 앞뒤를 자르고 괄호 반전 string make_reverse_except_ft(const string &u) { string tmp = u.substr(1, u.size() - 2); for (char &c : tmp) { c = ((c == '(') ? ')' : '('); } return tmp; } // 틀린 문자열 시작.. 2020. 5. 13.
[BOJ]1260번: DFS와 BFS(c++) https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다.www.acmicpc.net  #include #include #include #include using namespace std;// 너비 우선 탐색void bfs(vector>& list, vector& visited, int start){ queue q; q.push(start); visited[start] = .. 2020. 5. 12.
[프로그래머스]2017 카카오코드 예선 : 카카오프렌즈 컬러링북 (level 2)(c++) https://programmers.co.kr/learn/courses/30/lessons/1829 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 방법 1: DFS #include #include using namespace std; int M, N; // 오른쪽, 아래쪽, 왼쪽, 위쪽 vector drx = { {0, 1}, {1, 0}, {0, -1}, {-1, 0} }; void dfs(vector &picture, vector &cnt, int x, int y) { // 해당 색 영역 개수 + 1 ++*(cnt.end() - 1); int num .. 2020. 5. 11.