짱민영
'알고리즘 문제풀이/동적 프로그래밍' 카테고리의 글 목록

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

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

[백준][C++] 10942 팰린드롬?

10942. 팰린드롬 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 문제 풀 때 막혔던 것 (바보짓..) 초장부터 문제를 잘못 이해해서 초반에 엄청난 시간을 썼다... 나는 처음에, 숫자를 받으면 하나의 문자열로 생각했다. 반대로, 이렇게 하나의 문자열로 생각하지 말고 숫자 자릿수에 상관없이 하나 하나 비교해야 하는 것이었다! 여기까지는 괜찮았지만, 팰린드롬을 비교할 때 치명적인 실수를 했다. p1(index)부터 p2(index)까지의 수가 팰린드롬인지 확인할 예정이었다. 따라서 p1부터 증가하는 값과 p2부터 감소하는 값을 비교해줄 생각이었는데..

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

[백준][C++] 16395 파스칼의 삼각형

16395. 파스칼의 삼각형 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 파스칼의 삼각형 문제! 파스칼의 삼각형 개념을 로직으로 옮기면 되는 간단한 문제였다. 알고리..

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

[백준][C++] 1912 연속합

1912 연속합 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 연속된 수를 선택해 구할 수 있는 최댓값을 구하는 문제! 처음엔 좀 고민했지만, 곧 풀이를 생각할 수 있었다. 알고리즘 1부터..

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

[백준][C++] 11053 가장 긴 증가하는 부분 수열

11053 가장 긴 증가하는 부분 수열 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 가장 긴 증가하..

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

[백준][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일 때의 테스트케이스를 구하고 점화식을 세운 문제! 신기하게도 피보나치 수열이 나왔다!!! 그림..