[백준알고리즘] 9461번: 파도반 수열 -Python
[백준알고리즘] 9461번: 파도반 수열 -Python https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하 www.acmicpc.net 초기에 5번째 삼각형까지는 길이를 직접 넣어주었다. 그리고 그림에서의 규칙을 ..
더보기
[백준알고리즘] 11722번: 가장 긴 감소하는 부분 수열 -Python
[백준알고리즘] 11722번: 가장 긴 감소하는 부분 수열 -Python https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} 이고, 길이는 3이다. www.acmicpc.net 가장 긴 증가하는 부분 수열만 하더라도 정답 비율이 낮은 편은 아니더라도 유사한 문제를 계속 출제해서 그런 건지 정답 비율이 매우 높다. 이 문제도 마찬가지로 풀면 된다. 거의 풀었던 방식과 비슷하게 풀었다. 똑같이 max를 이..
더보기
[백준알고리즘] 11055번: 가장 큰 증가 부분 수열 -Python
[백준알고리즘] 11055번: 가장 큰 증가 부분 수열 -Python https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수열은 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 이고, 합은 113이다. www.acmicpc.net 이전 문제인 "가장 긴 증가하는 부분 수열" 문제와 유사하다. 이번 문제는 길이가 아니라 부분 수열의 원소들의 합을 구하는 문제라는 차이가 있다. 따라서 이전 문제에서는 길..
더보기
[백준알고리즘] 11053번: 가장 긴 증가하는 부분 수열 -Python
[백준알고리즘] 11053번: 가장 긴 증가하는 부분 수열 -Python https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. www.acmicpc.net 부분 수열 중 증가수열로 가장 길게 만들 수 있는 길이를 구하는 문제이다. 이 문제를 해결하고 다른 사람들의 코드를 봤는데 나는 내 코드가 가장 간단한 것 같다. 우선 초기 리스트를 1~1000까지 잡아주기 위해서 1001만큼의..
더보기
[백준알고리즘] 1874번: 스택 수열 -Java
[백준알고리즘] 1874번: 스택 수열 -Java https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 처음에 문제를 이해하는 데 이상했었다. 문제를 설명하자면 1부터 n까지의 수를 차례대로 stack에 push 하거나 pop 해서 주어진 수열을 만들 수 있는가를 물어보는 문제이다. 이에 대해서 문제를 풀기 위해서는 stack에 push할 때의 조건과 pop 시킬 때의..
더보기