목록알고리즘 공부/분할 정복 (4)
코딩 공부소
https://www.acmicpc.net/problem/5904 5904번: Moo 게임 Moo는 술자리에서 즐겁게 할 수 있는 게임이다. 이 게임은 Moo수열을 각 사람이 하나씩 순서대로 외치면 되는 게임이다. Moo 수열은 길이가 무한대이며, 다음과 같이 생겼다. m o o m o o o m o o m o o o www.acmicpc.net Moo 게임은 골드 5 문제로 분할 정복을 이용해서 푸는 문제입니다 Moo 게임? MOO는 길이가 무한대인 수열입니다. 그렇기 떄문에 수열을 생성하는데 규칙이 있는데 이건 다음과 같습니다 1.S(0)="m o o" 이다 2.S(k)=S(k-1)+"m"+"o * (k+2)"+S(k-1) 이다 풀이 이 문제만 보고 어? 배열로 다 만들어놓고 몇번째인지 세면 되는거 ..
https://www.acmicpc.net/problem/1493 1493번: 박스 채우기 세준이는 length × width × height 크기의 박스를 가지고 있다. 그리고 세준이는 이 박스를 큐브를 이용해서 채우려고 한다. 큐브는 정육면체 모양이며, 한 변의 길이는 2의 제곱꼴이다. (1×1×1, 2×2×2, www.acmicpc.net 이 문제는 골드 3 문제로, 그리디 알고리즘, 분할정복을 이용해서 푸는 문제입니다. 그리디 알고리즘보다 분할정복 성격이 강하기에 분할정복 카테고리로 넣었습니다. 그리디 알고리즘? 그리디 알고리즘은 탐욕 알고리즘이라고도 불리는데 매 순간 최선의 선택을 하는 알고리즘이라고 생각하면 됩니다. 매 순간 최적을 선택한다는 장점은 있지만, 종합적으로 보면 제일 최선은 아닐 ..
https://www.acmicpc.net/problem/2339 2339번: 석판 자르기 첫 번째 줄에는 석판의 크기 N(1 ≤ N ≤ 20)이 들어온다. 다음 줄부터 N줄에 걸쳐서 석판의 상태가 입력으로 들어온다. 여기서 1은 불순물을 의미하며, 2는 보석 결정체, 0은 불순물과 보석결정체가 www.acmicpc.net 이 문제는 골드 1 문제로 재귀를 이용해서 푸는 문제입니다 풀이 간단한 문제 설명입니다. 석판에 있는 보석들을 하나씩 포함 할 수 있도록 석판을 자르되 불순물을 포함해서 잘라야합니다. 그때에 석판이 나눠지는 방법이 몇가지가 있는지를 알아내는 것이 이번 문제의 과제입니다. 특히, 불순물을 포함해서 자를때, 정확히 두 조각이 나눠지게 잘라야하며, 자를때 보석이 포함되어 있으면 안됩니다. ..
https://www.acmicpc.net/problem/4256 4256번: 트리 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 노드의 개수 n이 주어진다. (1 ≤ n ≤ 1,000) BT의 모든 노드에는 1부터 n까지 서로 다른 번호가 매겨져 있다. 다음 www.acmicpc.net 이 문제는 골드 2 문제로 전위 순회, 중위 순회 값이 주어졌을 때 이 두 개의 값을 토대로 후위 순회를 만드는 문제입니다. 전위 순회? 중위 순회? 후위 순회? 문제를 풀기에 앞서 전위 순회, 중위 순회, 후위 순회에 대해 설명하자면, 먼저 전위순회는 루트 노드 - 왼쪽 노드 - 오른쪽 노드 순으로 탐색합니다. 따라서, 위 그림의 트리를 전위 순회로 탐색하면, [1,2,4,5,3,6,..