목록알고리즘기초 (3)
천천히 빛나는
2609. (최대공약수와 최소공배수) 두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int a, b; cin >> a >> b; int minVal = 1; int n = min(a, b); while (n > 1) { if (a % n == 0 && b % n == 0) { minVal *= n; a /= n; b /= n; n = min(a, b); } n--; } cout > b; cout > a >> b; cout n; while (n--) { cin >> x; int temp = 0; ..
17298. (오큰수) 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 두 개의 풀이 방식이 있습니다. 더 이해하기 편한 걸로 코드를 구현해보시는 걸 추천합니다 :D 개인적으로 저는 2번이 이해하기가 더 쉬웠습니다. 1) 오큰수를 찾지 못한 값들을 stack에 저장하는 경우 vector input(n); // 입력받은 값들 stack index; // 오큰수를 찾지 못한 값들 - Stack에는 오큰수를 찾지 못한 값들이 쌓일 예정이다. (정확히는 몇번째로 입력한 값인지가 쌓인다.) - 입력..
Stack에 대한 문제들을 다루는 챕터이다. Queue(큐)와 Deque(덱)은 그래프와 BFS에서 집중적으로 다룰 예정이다. https://shine-slowly.tistory.com/39 알고리즘 : 자료구조(1) 스택 (Stack) (C++로 구현) 스택 (Stack) 스택(stack)은 쌓아놓은 더미라는 의미 그대로, 책상에 쌓여있는 책을 생각하면 된다. 가장 큰 특징은 LIFO(Last In First Out-후입선출)이다. 제일 최근에 들어온 데이터가 가장 먼저 나가는 shine-slowly.tistory.com 스택을 아예 모른다면 이 글을 가볍게 읽는 것을 추천한다. c++로 스택을 구현하는 과정과 c++ stl stack을 사용하는 방법이 나와 있다. 10828. (스택) 정수를 저장하는..