문제 풀이/Programmers 문제 풀이

[Programmers 알고리즘, C++]#Level 2_모음 사전 Programmers 알고리즘 문제 풀이, Level2_모음 사전 DFS를 활용하는 문제 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. DFS(깊이 우선 탐색) [자료구조]#6_그래프 [자료구조]#6_그래프 그래프 자료구조에 대해 알아보겠습니다. Overview 개념 구현 탐색 정렬 신장 트리(Spanning Tree) 최소 신장 트리(Minimum Spanning Tree) #0. 개념 1. 그래프? 그래프는 노드와 간선들의 webddevys.tistory.com [정의] : 깊이 우선 탐색은 그래프의 모든 노드를 탐색하는 방법 중 하나입니다. 깊이 우선 탐색은 시작 노드로부터 출발해 노드를 추가하며 더 이상 확장 할 ..
[Programmers 알고리즘, C++]#Level 3_이중 우선 큐 Programmers 알고리즘 문제 풀이, Level3_이중 우선 큐 C++의 STL에서 제공하는 multiset 컨테이너를 활용하는 문제 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. set [Basic C++] #29_Set, STL 컨테이너 [Basic C++] #29_Set, STL 컨테이너 C++ 개발에서 STL 컨테이너에 대해 알아보겠습니다. C++가 제공하는 STL 컨테이너 중 Set과 MultiSet을 살펴보겠습니다. #0. 개념 1. 개념 Set은 STL에서 제공하는 연관 컨테이 webddevys.tistory.com [정의] : set은 C++의 STL에서 제공하는 연관 컨테이너입니다. 노드 기반의 ..
[Programmers 알고리즘, C++]#Level 3_정수 삼각형 Programmers 알고리즘 문제 풀이, Level3_정수 삼각형 DP를 활용하는 문제 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. 동적 계획법 [알고리즘]#5_동적 계획법 [알고리즘]#5_동적 계획법 동적 계획 알고리즘에 대해 알아보겠습니다. Overview 개념 예제 #0. 개념 1. 동적 계획법(Dynamic Programming) 동적 계획법은 최적화 문제를 해결하는 데 사용되는 알고리즘 디 webddevys.tistory.com [정의] : 동적 계획법은 최적화 문제를 해결하는 데 사용되는 알고리즘 디자인 기법 중 하나입니다. 동적 계획법은 입력 크기에 따라 중복되는 하위 문제를 재귀적으로 해결하고, 이 결..
[Programmers 알고리즘, C++]#Level 2_카펫 Programmers 알고리즘 문제 풀이, Level 2_카펫 순수 수학으로 푸는 문제 #1. 문제 #2. 풀이 1. 갈색 격자와 노란색 격자 최소 가로길이, 최소 세로 길이 : 카펫의 최대 가로 길이는 (갈색 격자 - 2)/2개이며, 최소 세로 길이는 3입니다. 공식 : 2(W+H)-4 = B 식을 통해 Y값을 도출합니다. 갈색 격자와 노란색 격자 : 위 내용들을 통해 가로 길이는 -1로 줄이고, 세로 길이는 +1로 늘리며, 차례대로 Y값을 도출하고, 주어진 Y값과 동일하면, 해당 가로길이와 세로 길이를 결과로 반환합니다. #3. 코드 #include #include using namespace std; // #1. 카페트의 가로 최대 = ..
[Programmers 알고리즘, C++]#Level 2_뒤에 있는 큰 수 찾기 Programmers 알고리즘 문제 풀이, Level 2_뒤에 있는 큰 수 찾기 스택을 활용해 오른쪽에 있으며 가장 가까운 수 찾기 #1. 문제 #2. 풀이 1. 스택 [Basic C++] #64_stack [Basic C++] #64_stack C++에서 제공하는 stack 클래스에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제 #0. 개념 1. Stack C++에서 제공하는 stack은 LIFO 데이터 구조를 구현하는 STL 컨테이너입니다. s webddevys.tistory.com Details C++의 STL이 제공하는 stack 컨테이너입니다. 스택은 LIFO(Last-In First-Out)으로 ..
[Programmers 알고리즘, C++]#Level 2_연속된 부분 수열의 합 Programmers 알고리즘 문제 풀이, Level 2_연속된 부분 수열의 합 투 포인터 알고리즘을 활용해 부분 수열의 합을 구하는 문제 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. 투 포인터 알고리즘 1. 시작점을 가리키는 포인터와 도착점을 가리키는 포인터 두 개를 선언합니다. 2. 두 포인터를 모두 수열의 0번째 원소를 가리키도록 초기화합니다. 3. 현재 부분 수열의 합이 목표 값보다 작다면, 도착점 포인터를 오른쪽으로 한칸 이동시키고 그 값을 현재 부분수열의 합에 추가합니다. 4. 반대로, 현재 부분 수열의 합이 목표 값보다 크다면, 시작점 포인터를 오른쪽으로 한 칸 이동시키고, 이전에 가리키던 값읠..
[Programmers 알고리즘, C++]#Level 2_다음 큰 숫자 Programmers 알고리즘 문제 풀이, Level 2_요격 시스템 정렬 작업을 통해 중복되는 구간을 최대로 설정하는 문제 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. 중복이 있는 구간들 찾기 먼저, s ~ e 구간 내 s값과 e값을 제외한 나머지 값들이 겹치는 미사일들을 찾아야 합니다. 주어진 vector 컨테이너를 "e" 값, 즉 개구간의 최대 값을 기준으로 오름차순 정렬합니다. 만약, 한 미사일의 "s" 값이 다른 미사일의 "e"값과 같거나 크다면, 두 미사일은 중복되는 구간이 없다는 의미로 해석할 수 있습니다. 반대로, 한 미사일의 "s"값이 다른 미사일의 "e" 값보다 작다면, 두 미사일은 중복되며 한 번..
[Programmers 알고리즘, C++]#Level 2_다음 큰 숫자 Programmers 알고리즘 문제 풀이, Level 2_다음 큰 숫자 bitset을 활용한 이진 변환과 cmath 헤더 파일을 활용한 알고리즘 문제 풀이 1. bitset을 활용한 이진법 변환 Convert a Decimal to Binary in C++ | Techie Delight This post will discuss how to convert a decimal to binary in C++... The standard solution to convert a number to its binary format in C++ is using std::bitset. www.techiedelight.com 주어진 입력 값은 최대 1,..
[Programmers 알고리즘, C++]#Level 2_이진 변환 반복하기 Programmers 알고리즘 문제 풀이, Level 2_이진 변환 반복하기 이진 변환 알고리즘과 STL 알고리즘을 활용하여 풀이하는 문제입니다. 문제 풀이 #include #include #include using namespace std; bool Pred(char c) { return c == '0'; } vector solution(string s) { vector answer; int delete0Cnt = 0; int decToBinCnt = 0; vector tmpV; while(s != "1") { // 1. 0 제거, for 문을 돌면서 삭제하면 String에 직접적인 변화 for(int i=0; i 이진 변환 ..
[Programmers 알고리즘, C++]#Level 2_JadenCase 문자열 만들기 Programmers 알고리즘 문제 풀이, Level 2_JadenCase 문자열 만들기 cctype 제공 함수를 활용하여 풀이하는 문제입니다. 문제 풀이 /* * #include 제공 함수 주의할 점 : islower(), isdigit(), isupper() 등의 함수는 반환 값이 int입니다. if(islower(str[i]) == true)는 정상적으로 수행되지 않습니다! */ #include #include #include using namespace std; string solution(string s) { string answer = ""; bool changeCheck = true; if (isdigi..
Hardii2
'문제 풀이/Programmers 문제 풀이' 카테고리의 글 목록 (4 Page)