본문 바로가기

알고리즘119

[백준] 6236 용돈 관리 c++ https://www.acmicpc.net/problem/6236 6236번: 용돈 관리 현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로 www.acmicpc.net 인출 횟수를 M 번을 맞춰야하며 모자라면 남은 금액은 통장에 넣고 다시 돈을 인출 할 수 있다. mid가 k 원이고 돈을 계속 쓰면 감소할 것이므로 k에다가 mid 값을 저장 해주었다. 그 후에 돈이 모자라게 되면 ( num[i]>k ) k=mid 로 해주어 다시 돈을 인출 한것처럼 해주었다. cnt가 m 보다 크게되면 인출 금액을 더 크게 해주어서 cnt를 줄여주고 cnt가 m보다 작게되면 인출 금액.. 2022. 9. 22.
[백준] LCS c++ cache[i][j]-> i,j이전까지의 LCS를 의미한다. i,j가 일치하는지 확인하고 일치하면 cache[i + 1][j + 1] 는 cache[i][j] 보다 1 길게 저장해주고 아니라면cache[i + 1][j] cache[i][j + 1] 둘 중에 하나를 저장해주면 된다. #include #include #include using namespace std; string A, B; int cache[1002][1002]; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> A >> B; for(int i=0;i 2022. 9. 21.
[백준] 11052 카드 구매하기 c++ https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net N개의 카드를 구매할 것인데 그중에서 제일 돈을 많이 지불하는 방법을 찾으면 된다. 1,,,N개까지 의 카드가 들어있는 카드팩이 가격이 다 다르다. dp[i]는 i개의 카드를 구매할 때의 최댓값이 담겨있는 배열이다. 5개의 카드를 구매할때 최댓값은 do[1]+dp[4], dp[2]+dp[3] 중에 더 큰 값이다. #include #include using namespace std; int N; int n.. 2022. 9. 11.
[백준] 9655 돌 게임 https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 베스킨라빈스 31을 두명이서 하는 경우하고 비슷했다. 4n+2와 4n 일때는 창영이가 이기고 나머지는 상근이가 이긴다. 4n일때: 상근이가 1가져가면 3가져가면 된다. 3가져가면 1가져가면 된다. #include using namespace std; int main() { int n; cin >> n; if (n % 4 == 0 || n % 4 == 2) cout 2022. 9. 10.