algorithm(13)
-
[백준] 10845 큐
문제출처] https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net 문제요약 정수를 저장하는 큐를 구현하는 문제입니다. 풀이 단계별로 문제풀기의 큐 단계 문제입니다. 큐를 직접 구현하여 문제를 해결할 수도 있지만 STL queue 라이브러리를 이용하여 문제를 풀어 볼 것입니다. 먼저 큐에 대해서 알아보겠습니다. 큐(Queue)란? 큐는 FIFO(First In First Out)으로 작동합니다. 즉, ..
2019.08.06 -
[백준] 10773 제로
문제링크] https://www.acmicpc.net/problem/10773 10773번: 제로 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다. 재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다. 재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자! 입력 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ www.acmicpc.net 문제요약 스택을 이용하여 데이터를 저장한다. "0"을 입력 받을 때 pop하고 "0"이 아닌 수를 입력 받으면 push한다. 마..
2019.08.06 -
[백준] 2902 KMP는 왜 KMP일까?
문제링크] https://www.acmicpc.net/problem/2902 2902번: KMP는 왜 KMP일까? 문제 KMP 알고리즘이 KMP인 이유는 이를 만든 사람의 성이 Knuth, Morris, Prett이기 때문이다. 이렇게 알고리즘에는 발견한 사람의 성을 따서 이름을 붙이는 경우가 많다. 또 다른 예로, 유명한 비대칭 암호화 알고리즘 RSA는 이를 만든 사람의 이름이 Rivest, Shamir, Adleman이다. 사람들은 이렇게 사람 성이 들어간 알고리즘을 두 가지 형태로 부른다. 첫 번째는 성을 모두 쓰고, 이를 하이픈(-)으로 이어 붙인 것이다. 예 www.acmicpc.net 문제요약 Knuth-Morris-Pratt 와 같이 긴 형태를 KMP 처럼 이니셜의 짧은 형태로 변환하는 문제..
2019.07.31 -
[백준] 2798 블랙잭
문제링크] https://www.acmicpc.net/problem/2798 2798번: 블랙잭 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버젼의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 www.acmicpc.net 문제요약 N개의 숫자가 주어졌을 때 3장의 숫자를 골라 모두 더하였을 때, 그 값이 M을 넘지 않고 M과 가장 가까운 값을 구하..
2019.07.30 -
[백준] 2231 분해합
문제링크] https://www.acmicpc.net/problem/2231 2231번: 분해합 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그 www.acmicpc.net 문제요약 예를 들어 설명하면 198은 198+1+9+8 = 216 입니다. 여기서 198을 216의 생성자라고 합니다. 이 문제..
2019.07.30 -
[백준] 11727 2 x n 타일링 2
문제링크] https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. www.acmicpc.net 문제요약 2×n 직사각형을 2×1과 2×2 타일로 채우는 방법의 수를 구하는 문제입니다. 백준 11726 문제와 마찬가지로 다이나믹 프로그래밍을 이용한 알고리즘 문제이다. 2019/07/30 - [컴퓨터/알고리즘] - [백준] 11726 2 x n 타일링 [백준] 11726 2 x n 타일링 문제링크] https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프..
2019.07.30