반응형
[알고리즘] 비둘기집 원리
자료구조 | 알고리즘/수학2024. 4. 26. 13:10[알고리즘] 비둘기집 원리

이번 포스팅에서는 이산수학의 한 개념으로써 조합에서 중복을 확인하는 방법이다. 알고리즘에서는 완전탐색의 경우에서 시간복잡도를 줄이는 기법으로 많이 활용된다.  예시문제: 세 사람의 심리적 거리,

[백준 1562] 계단수 (C++)
PS/백준 알고리즘[BOJ]2024. 4. 19. 15:56[백준 1562] 계단수 (C++)

1. 문제https://www.acmicpc.net/problem/1562 1562번: 계단 수첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.www.acmicpc.net 2. 풀이DP적 접근비슷한 문제로 [백준 18044] 쉬운 쉬운 계단수가 있습니다. 이 문제를 먼저 이해해야 합니다. 이 문제는 기본적으로 [18044 쉬운 계단수]와 동일하게 최적 부분구조와 반복되는 부분문제를 가집니다. 하지만 쉬운 계단 수와는 다르게 "0부터 9까지 숫자가 모두 포함되어야 한다"는 조건이 추가되었습니다. 기존의 두 가지 정보를 이용한 DP 테이블로는 원하는 답을 얻을 수 없습니다. 따라서 부분문제를 해결할 때 "현재 구성된 계단수의 숫자의 조합"이라는 정보도 추가되어야..

[백준 10844] 쉬운 계단 수 (C++)
PS/백준 알고리즘[BOJ]2024. 4. 18. 16:16[백준 10844] 쉬운 계단 수 (C++)

1. 문제 https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 2. 풀이 DP적 접근 문제를 읽고 세번째까지는 구조도를 그려봤습니다. 구조를 보면 결국 완전탐색을 통해 모든 경우의 수를 찾는 문제입니다. 그런데 다음 자리로 늘어나는 과정에서 완전탐색의 시간복잡도는 O(2ⁿ)이 됩니다. 따라서 DP나 그리디를 써야 하는데 아까 그린 구조도를 살펴보면 두 가지 특징을 가집니다. 반복되는 부분문제(Overlapping Subproblems) 다음 자리로 늘어나는 과정에서 같은 부분문제들이 반복됩니다. 최적 부분구조(Optimal Substructur) 위의 부분문제들..

2024. 4. 9. 16:09알고리즘 정리가 잘 되어있는 블로그 모음!

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 해주세요.

[알고리즘] 시물레이션(구현)
자료구조 | 알고리즘/심화 알고리즘2024. 4. 9. 15:49[알고리즘] 시물레이션(구현)

별거 없다. 그냥 구현을 요구하는 문제이다. 하지만 구현 과정에서 프로그래밍에 대한 여러 가지 기본 지식을 요구하는 만큼 난이도가 있는 유형이다. 특히 구현하고 나서 디버깅하는 과정에서 많은 시간이 걸린다. 특히 배열 out of bound, 오버플로우 등을 잡는데 정신이 나갈 수 있다. 따라서 평소에 꾸준히 알고리즘을 하며 구현능력을 기르며 미리 대비해 놓아야 하는 유형이다. 예제는 삼성 기출문제가 유명하다. 연구소 문제 등이 대표적이다.

PS를 위한 정수론
자료구조 | 알고리즘/수학2024. 4. 9. 15:45PS를 위한 정수론

https://kau-algorithm.tistory.com/27 간단한 알고리즘 - 정수론 이 글은 학회 회원 랑이집사님의 허락을 받아 에브리타임 게시글을 그대로 가져왔습니다. 코딩테스트에서 나오는 비주류 유형이 몇가지 있는데, 그중 하나인 정수론에 대해 적어보려고 합니다. kau-algorithm.tistory.com 심화 정수론!!! 기본 안내서 pdf 및 블로그 정리 모음 https://rkm0959.tistory.com/category/PS/PS%20%EC%A0%95%EC%88%98%EB%A1%A0%20%EA%B0%80%EC%9D%B4%EB%93%9C 'PS/PS 정수론 가이드' 카테고리의 글 목록 rkm0959.tistory.com 증명을 정리해놓은 심화 과정들!! https://site.th..

[백준 1043] 거짓말 (C++)
PS/백준 알고리즘[BOJ]2024. 4. 8. 14:35[백준 1043] 거짓말 (C++)

1. 문제 https://www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 2. 풀이 접근 방법 문제의 조건 중 "어떤 파티에서는 진실을 듣고 또다른 파티에서는 과장된 이야기를 들었을 때에도 거짓말 쟁이로 간주된다" 라는 표현이 핵심 포인트입니다. 저는 이 문제를 해결하는 과정에서 유니온 파인드를 떠올렸습니다. 처음에는 단순히 모든 파티들을 탐색하며 진실/거짓 여부를 확인하고 개수를 세어 주려고 했습니다. 하지만 테스트 케이스를 검증하다가 보니 예외가 존재합니다. 현재 ..

[자료구조] 스택(stack)
자료구조 | 알고리즘/선형 자료구죠2024. 3. 28. 11:07[자료구조] 스택(stack)

이번 포스팅에서는 스택의 정의와 성질, 구현 방법, 활용에 대해서 정리합니다. 스택은 큐, 데큐와 서로 비슷한 부분이 많기 때문에 함께 공부하는 것을 적극 추천합니다.또한 스택은 비교적 여러 알고리즘에서 활용합니다. 따라서 어렵더라도 제대로 이해하고 넘어가야 합니다. 1. 스택의 의미와 특징스택이란?마지막으로 들어온 원소가 제일 먼저 나가는 자료구조더 이해하기 쉽게 풀어보면 한쪽 입구만 뚫린 터널이라고 생각할 수 있다. 이 구조는 데이터들이 한쪽으로만 들어갔다가 나오며 무언가 쌓는 모양을 생각할 수 있다. 이러한 형태 때문에 "쌓다"라는 의미에서 스택(stack)으로 불린다. 스택의 특징LIFO(Last In First Out)의 구조를 가진다.원소의 추가/제거/확인이 모두 O(1)이다.최상단의 원소에만..

728x90
반응형
image