알고리즘

알고리즘

[백준] DP - 11054번, 가장 긴 바이토닉 부분 수열 (다른 풀이 봄)

* 공부 목표 DP - 1463, 11726, 11727, 9095, 10844, 11057, 2193, 9465, 2156, 11053, 11055, 11722, 11054, 1912, 2579, 1699, 2133, 9461, 2225, 2011, 11052 문) 수열 S가 어떤 수 Sk를 기준으로 S1 Sk+1 > ... SN-1 > SN을 만족한다면, 그 수열을 바이토닉 수열이라고 한다. 예를 들어, {10, 20, 30, 25, 20}과 {10, 20, 30, 40}, {50, 40, 25, 10} 은 바이토닉 수열이지만, {1, 2, 3, 2, 1, 2, 3, 2, 1}과 {10, 20, 30, 40, 20, 30} 은 바이토닉 수열이 아니다. 수열 A..

알고리즘

[백준] 큐 - 18258번

문) 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 풀이 논리는 단순하다 입력받고, switch문에 따라 해당되는 조건을 실행하면 됨. 다만..

알고리즘

[백준] DP - 11722번, 가장 긴 감소하는 부분 수열

* 공부 목표 DP - 1463, 11726, 11727, 9095, 10844, 11057, 2193, 9465, 2156, 11053, 11055, 11722, 11054, 1912, 2579, 1699, 2133, 9461, 2225, 2011, 11052 문) 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} 이고, 길이는 3이다. 출) 첫째 줄에 수열 A의 가장 긴 감소하는 부분 수열의 길이를 출력한다. 풀이 1. 테이블 정의 : n만큼의 길이의 수열을 입력받고 각각을 비교하여 부분 수열의 길이를 출..

알고리즘

[백준] 스택 - 9012번 괄호 | 1개만 입력 받기, stack 처리

문) 닫힌 괄호는 VPS, 최종 형태가 VPS이면 YES 아니면 NO 출력 입) 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 주어진다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 괄호 문자열이 한 줄에 주어진다. 하나의 괄호 문자열의 길이는 2 이상 50 이하이다. 풀이 논리는 간단하다. 1. '(' 일 때만 stack에 push, ')' 만나면 pop. 2. 최종적으로 남아있는 게 있으면 NO. 다만, 1글자씩 입력 받는 것과 ')' 가 연속 2번 입력될 때 문제 해결하느라 시간이 지체됐다. 1글자씩 입력받기 이번 풀이에선 BufferedReader를 사용했는데, Scanner도 그렇고 한 글자씩 입력받는 게 안 되는..

hatch
'알고리즘' 카테고리의 글 목록 (3 Page)