본문 바로가기
728x90

스택4

[JAVA]백준 2841번: 외계인의 기타 연주 https://www.acmicpc.net/problem/2841 2841번: 외계인의 기타 연주 첫째 줄에 멜로디에 포함되어 있는 음의 수 N과 한 줄에 있는 프렛의 수 P가 주어진다. (N ≤ 500,000, 2 ≤ P ≤ 300,000) 다음 N개 줄에는 멜로디의 한 음을 나타내는 두 정수가 주어진다. 첫 번째 정수 www.acmicpc.net 1. 문제 설명 문제 기타는 1번 줄부터 6번 줄까지 총 6개의 줄이 있고, 각 줄은 P개의 프렛으로 나누어져 있다. 어떤 줄의 프렛을 여러 개 누르고 있다면, 가장 높은 프렛의 음이 발생한다. 손가락으로 프렛을 한번 누르거나 때는 것을 손가락을 한번 움직였다고 한다. 어떤 멜로디가 주어졌을 때, 손가락의 가장 적게 움직이는 횟수를 구하자. 조건 음의 수 N(N 2021. 9. 17.
[JAVA]백준 3425번: 고스택 https://www.acmicpc.net/problem/3425 3425번: 고스택 각각의 입력값에 대해서, 해당하는 프로그램을 수행한 뒤, 출력값을 출력하면 된다. 출력값이란 스택에 저장되어 있는 숫자이다. 만약, 프로그램 에러가 발생하거나, 모든 수행이 종료됐을 때 www.acmicpc.net 1. 문제 설명 창영이가 스택을 변형해서 고 스택을 만들었다. 스택에 가장 위에 저장된 수를 첫 번째 수, 그다음은 차례대로 두 번째 수, 세 번째 수라고 할 때 NUM X : X를 스택 가장 위에 저장 POP : 스택 가장 위의 숫자 제거 INV : 첫번째 수의 부호를 바꾼다 DUP : 첫번째 숫자를 하나 더 스택의 가장 위에 저장 SWP : 첫번째 수와 두 번째 수 위치 바꿈 ADD : 첫번쨰 수와 두 번.. 2021. 7. 19.
[JAVA]백준 1874번: 스택 수열 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. 문제 설명 1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로, 하나의 수열을 만들 수 있다. 스택에 push 하는 순서는 반드시 오름차순이다. 임의의 수열이 주어졌을 때, 스택을 이용하여 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push pop 연산을 수행해야 하는지 출력하는 문제이다. (p.. 2021. 5. 16.
[JAVA]백준 1725번: 히스토그램 www.acmicpc.net/problem/1725 1725번: 히스토그램 첫 행에는 N (1 ≤ N ≤ 100,000) 이 주어진다. N은 히스토그램의 가로 칸의 수이다. 다음 N 행에 걸쳐 각 칸의 높이가 왼쪽에서부터 차례대로 주어진다. 각 칸의 높이는 1,000,000,000보다 작거나 같은 www.acmicpc.net 1. 문제 설명 주어진 히스토그램에 대해 가장 큰 직사각형의 넓이를 구하는 프로그램을 작성하는 문제이다. 종만북의 분할 정복 예시 문제 울타리 잘라내기 문제와 같은 문제이다. 종만북의 풀이과정 같이 3가지의 형태로 문제를 분할하여서 풀었다. 막대그래프를 반으로 잘랐을 때 가장 큰 직사각형은 3가지의 경우로 존재할 수 있다. 1. 가장 큰 직사각형은 왼쪽 그래프에만 있을 경우 2. 가.. 2021. 1. 2.
728x90