#1. 문제 #2. 풀이 1. a와 b를 1을 더해주고 2로 계속 나눠준다. (a+1)/2와 (b+1)/2 하며 a와 b가 서로 같을 때까지 그 횟수를 카운트합니다. a와 b는 매번 이기며 토너먼트를 올라가며, 새로운 라운드에 가서 (a+1)/2 혹은 (b+1)/2 번호를 부여받기 때문입니다. #3. 코드 #include #include using namespace std; int solution(int n, int a, int b) { int answer = 0; // #1. a와 b의 참가자 번호가 같을 때 까지 2를 나누어준다. while(a != b) { // a가 첫 번째 부여받은 번호가 4라면, 다음 라운드에서 2를 부여받는다. a = (a+1)/2; // b가 첫 번째 부여받은 번호가 7라면..
문제 풀이
#1. 문제 #2. 풀이 1. 투 포인터 알고리즘 [알고리즘]#7_투 포인터 #1. 개념 1. 투 포인터 [정의] : '투 포인터' 알고리즘은 배열 또는 리스트에서 두 개의 포인터를 활용해 원하는 조건을 만족하는 부분을 찾는 알고리즘입니다. [특징] : '투 포인터' 알고리즘은 일 webddevys.tistory.com [정의] : '투 포인터' 알고리즘은 두 개의 포인터를 활용해 원하는 조건을 만족하는 부분을 찾는 알고리즘입니다. [특징] : '투 포인터' 알고리즘은 일반적으로 정렬된 배열 혹은 리스트에서 활용합니다. [동작 방식] 배열의 시작 지점을 가리키는 포인터, 그리고 끝 지점을 가리키는 포인터, 두 개의 포인터를 초기화합니다. 두 포인터가 움직이며 주어진 조건을 만족하는지 검사합니다. 조건을 ..
[BOJ알고리즘, C++]#5639_이진 검색 트리 BOJ 알고리즘 문제 풀이, 5639번 문제 "이진 검색 트리" 이진 탐색 트리의 전위순회 결과를 통해 후위순회 결과를 구하는 방법 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. 트리 [자료구조]#5_트리 [자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념 이진트리 순회 이진 탐색 트리 균형 이진트리 AVL 트리 레드-블랙 트리 Map, Set 힙 #0. 개념 1. 트리? [정의] : 트리는 1:n 관계의 webddevys.tistory.com [정의] : 트리는 1:n 관계의 계층 구조를 갖는 비 선형 자료구조입니다. 트리는 노드와 노드 간 연결관계를 표현하는 간선으로 이루어져 있습니다. [특징] : 트리의..
[BOJ알고리즘, C++]#2263_트리의 순회 BOJ 알고리즘 문제 풀이, 2263번 문제 "트리의 순회" 트리의 순회 방법에 대해 공부하고, 후위순회와 중위순회를 통해 전위순회를 구하는 방법 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. 트리 [자료구조]#5_트리 [자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념 이진트리 순회 이진 탐색 트리 균형 이진트리 AVL 트리 레드-블랙 트리 Map, Set 힙 #0. 개념 1. 트리? [정의] : 트리는 1:n 관계의 webddevys.tistory.com [정의] : 트리는 1:n 관계의 계층 구조를 갖는 비 선형 자료구조입니다. 트리는 노드와 노드 간 연결관계를 표현하는 간선으로 이루어져 있습니다. [특징]..
[Programmers 알고리즘, C++]#Level2_가장 큰 수 Programmers 알고리즘 문제 풀이, Level2_가장 큰 수 C++의 algorithm 라이브러리에서 제공하는 sort 함수와 람다 표현식을 활용하는 문제 Overview 문제 풀이 코드 #1, 문제 #2. 풀이 1. sort() [Basic C++] #32-3_STL 정렬 알고리즘 [Basic C++] #32-3_STL 정렬 알고리즘 C++ 개발에서 표준 라이브러리(STL)에 대해 알아보겠습니다. "전문가를 위한 C"의 15 항목, "C++ 표준 라이브러리 살펴보기"에 해당하는 내용입니다. Overview 개념 partiti webddevys.tistory.com [정의] : C++의 algorithm 헤더에서 제공하는 sort..
[Programmers 알고리즘, C++]#Level 1_배열의 원소 삭제하기 Programmers 알고리즘 문제 풀이, Level1_배열의 원소 삭제하기 C++의 remove_if(), find(), 그리고 erase()를 활용하는 문제 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. remove() + erase() [Basic C++] #53_STL 알고리즘, remove + erase, 옮기고 삭제하기 [Basic C++] #53_STL 알고리즘, remove + erase, 옮기고 삭제하기 STL 알고리즘 중 "remove 알고리즘"에 대해 알아보겠습니다. "전문가를 위한 C"의 17 항목, "STL 알고리즘 마스터하기"에 해당하는 내용입니다. r webddevys.tistory...
[Programmers 알고리즘, C++]#Level 1_체육복 Programmers 알고리즘 문제 풀이, Level1_체육복 C++의 STL에서 제공하는 map 컨테이너를 활용하는 문제 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. map [Basic C++] #38_map, 연관 컨테이너 [Basic C++] #38_map, 연관 컨테이너 C++ 개발에서 표준 라이브러리(STL)의 "map"에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. Overview 개념 webddevys.tistory.com [정의] : C++의 STL에서 제공하는 map 컨테이너는, 지정된 형식의 키와 데이터 값을 한 쌍으로 저장하는 연관 컨테이..
[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 [정의] : 깊이 우선 탐색은 그래프의 모든 노드를 탐색하는 방법 중 하나입니다. 깊이 우선 탐색은 시작 노드로부터 출발해 노드를 추가하며 더 이상 확장 할 ..
[BOJ알고리즘, C++]#10798_세로 읽기 BOJ 알고리즘 문제 풀이, 10798번 문제 "세로 읽기" string 라이브러리가 제공하는 getline()과 STL의 vector 컨테이너를 활용하는 문제 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. getline() [Basic C++] #65_getline() [Basic C++] #65_getline() C++에서 제공하는 getline() 함수에 대해 알아보겠습니다. Overview 개념 코드 예제 #0. 개념 1. getline() getline() 함수는 문자열을 입력받는 함수입니다. getline() 함수는 입력 스트림에 webddevys.tistory.com [정의] : getline 함수는 string 라이브러리에서 ..
[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에서 제공하는 연관 컨테이너입니다. 노드 기반의 ..