짱민영
'알고리즘 문제풀이' 카테고리의 글 목록 (9 Page)

알고리즘 문제풀이

알고리즘 문제풀이/동적 프로그래밍

[백준][C++] 1010 다리 놓기

1010. 다리 놓기 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 내 한참 모자른 수학 실력을 알 수 있었던 문제... 분명 문제를 보자마자 어? 경우의 수! 어? 팩토리얼! ..

알고리즘 문제풀이/동적 프로그래밍

[백준][C++] 2748 피보나치 수 2

2748. 피보나치 수 2 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 1번과 같은 문제이지만... 한계값이 20아니라 90까지 늘어난 상황..

알고리즘 문제풀이/동적 프로그래밍

[백준][C++] 2839 설탕 배달

2839. 설탕 배달 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 그리디에서 풀었던 거스름돈 문제랑 거의 똑같은 문제. [백준][C++] 14916 거스름돈 1. 거스름돈 14916번: ..

알고리즘 문제풀이/동적 프로그래밍

[백준][C++] 10870 피보나치 수 5

10870. 피보나치 수 5 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com DP 첫 문제! 피보나치 수열이 나왔다. 간단한 문제이지만, 입력..

알고리즘 문제풀이/그래프 탐색

[백준][C++] 18405 경쟁적 전염

18405. 경쟁적 전염 문제 풀이 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 나 BFS로 풀어주세요!! 라고 외치고 있는 문제... 친히 BFS로 풀어주었다. 알고리즘 설계 (0,0)부터 (n,n)까지 차례대로 바이러스인지 검사를 한다. 좌표(x, y), 바이러스 번호, 감염된 날을 queue에 넣어준다. 새로 감염된 아이를 queue에 넣어줄 때 중앙에 있는 기존 바이러스(queue.top())의 감염된 날 + 1을 넣어주었다. queue의 top의 날이 S day가 넘어..

알고리즘 문제풀이/그래프 탐색

[백준][C++] 1697 숨바꼭질

1697. 숨바꼭질 문제 풀이 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net BFS를 사용해서 푼 문제! 보자마자 BFS라고 생각했지만... 작은 실수들 때문에 메모리가 초과되거나 틀렸던 문제이다. DFS로 탐색하지 않은 이유는 +1을 DFS로 하고 0에서 100000까지 간다고 하면 처음부터 100000개의 수를 거쳐야 하기 때문이다. 한 문장으로 비효율적이라는 이야기! 알고리즘 설계 queue에 { start, 0 }을 넣어준다. queue가 빌 때까지 반복문을 돌려준다. (f..

알고리즘 문제풀이/그래프 탐색

[백준][C++] 13549 숨바꼭질 3

13549. 숨바꼭질 3 문제 풀이 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 기존 숨바꼭질에서 조건 하나만 바뀐 문제. 2 * X로 순간 이동할 때 1초가 아닌 0초 걸리는 것으로 바꿨다. 기존 코드에서 2*x하는 부분과 min값을 구하는 부분만 수정하면 되어서 어렵지 않았다. 알고리즘 설계 https://minyoung529.tistory.com/19 코드 #include #include using namespace std; #define MAX 100000 bool ..

알고리즘 문제풀이/그래프 탐색

[백준][C++] 7569 토마토

7569. 토마토 문제 풀이 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 지난번에 푼 토마토 판이 3D가 된 문제. 메인 로직은 별로 차이가 없었고, y와 x뿐만이 아니라 z값까지 queue에 보관해주었다. 인접해있는 사방뿐만이 아니라 위 아래까지 비교했다. 비교 배열 int dx[4] = { 0,1,0,-1 }; int dy[4] = { 1,0,-1,0 }; >> int dx[6] = { 0,1,0,-1,0,0 }; int dy[6] = { 1, 0,-1,0,0,0 }; int d..