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

알고리즘 문제풀이

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

[백준][C++] 2407 조합

2407 조합 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 조합을 쓰는 문제! 다리 놓기랑 비슷한 문제라고 생각했지만... (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) 많이 커진 입력값이 문제였다. nCm = nC(n-m) 이 공식도 고려해봤을 때... 가장 큰 출력을 일으키는..

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

[백준][C++] 11727 2×n 타일링 2

11727 2×n 타일링 2 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com https://minyoung529.tistory.com/29 시리즈 문제를 최근에 풀어서 쉽게 풀 수 있었던 문제!! 다시 꺼내보는 ..

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

[백준][C++] 2579 계단 올라가기

2579 계단 올라가기 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 문제 풀이 정말 무지무지 어렵게 느껴졌던 문제... 결국 혼자서 풀지 못하고 다른 사람의 코드를 보고 이해했다. 첫번째 계단을 꼭 밟아야 한다고 생각한 것 계단 세 칸 이상을 가면 안 된다는 조건을 고려하지 않은 것 처음엔 정렬을 썼다. 큰 수들의 계단을 먼저 고르고 세 번 연속 고르지 못하도록 bool형 배열을 써서 체크해주었다. #include using namespace std; vector stairs; int scores[300]; bool ..

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

[백준][C++] 11726 2xn 타일링

11726 2xn 타일링 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 앞의 n이 1, 2, 3, 4, 5일 때의 테스트케이스를 구하고 점화식을 세운 문제! 신기하게도 피보나치 수열이 나왔다!!! 그림..

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

[백준][C++] 9095 1, 2, 3 더하기

9095. 1, 2, 3 더하기 문제 풀이 DP가 바로 이거구나! 알게 된 문제. 조금 고민해보다가... 생각해보니까 1을 만들 수 있는 연산, 2를 만들 수 있는 연산, 3을 만들 수 있는 연산을 가지고 계속 계속 다른 연산을 만들어가다보면 정답이 나오게 되는 것이었다! 만약에 4를 만든다고 하면... input => 4 1 => 1 arr[1] = 1 2 => 1+1 2 arr[2] = 2 3 => 1+1+1 1+2 2+1 3 arr[3] = 4 4 => 4 = arr[1] + 3 4 = arr[2] + 2 4 = arr[3] + 1 이므로... arr[4] = 1 + 2 + 4! answer => 7 코드로 구현해봤다. #include using namespace std; int main() { i..

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

[백준][C++] 1463 1로 만들기

1463. 1로 만들기 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 너무나도 그리디 문제 같이 생겼는데... 그리디로 계속 풀다가 결국 포기하고 DP로 푼 문제. 문제만 보면 그리디로 풀 생각을 하는 걸 고쳐야겠다고 생각했다. 처음 접근들은 앞서 말했다싶이 그리디로 했다. 그리고 생각나는 방..

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

[백준][C++] 17626 Four Squares

17626. Four Squares 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 참신하고 재미있었던 문제! 자연수를 넷 이하의 제곱수의 합으로..

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

[백준][C++] 9655 돌 게임

9655. 돌 게임 문제 풀이 귀엽고 깜찍한 베스킨라빈스 써리 원 비슷한 문제였다. 사실 이게 어떻게 DP 문제가 되는지 모르겠다... 난 그리디로 푼 것 같은데... 내가 생각한 알고리즘은, 현재 마지막 돌이거나 내가 해당 돌을 N개 집으면 상대에게 우승을 줄 상황이거나 돌이 3개 미만이라 3개를 잡을 수 없을 때 1개의 돌을 집고, 그 외에는 3개의 돌을 집었다. 코드는 이러하다. #include using namespace std; int main() { int rock; bool isSk = false; cin >> rock; while (rock > 0) { // 마지막 돌이거나 // 내가 3개를 가져갔을 때, 상대에게 기회가 오거나 // 돌이 3개 이하일 때 if (rock - 1 == 0 |..