Problem Solving/Baekjoon1331 [백준] 2302 극장 좌석 - Dynamic Programming / Java • 문제 링크 2302번: 극장 좌석 주어진 조건을 만족하면서 사람들이 좌석에 앉을 수 있는 방법의 가짓수를 출력한다. 방법의 가짓수는 2,000,000,000을 넘지 않는다. (2,000,000,000 < 231-1) www.acmicpc.net • 풀이 과정 vip석에 따라 점화식 구조가 달라지므로 각각의 vip석 번호를 Set 에 저장해둔다. 만약 vip석이 존재하지 않는 경우, n = 0 ~ 4 까지의 경우의 수를 구해 규칙성을 찾아내면 dp[i] = dp[i - 1] + dp[i - 2] 의 점화식을 구할 수 있다. 하지만 현재 또는 이전 좌석이 vip석일 경우, (set.contains(i) || set.contains(i - 1)) 해당 좌석으로 자리 이동이 불가하므로 이전에 구해진 경우의 .. 2022. 12. 1. [백준] 1003 피보나치 함수 - Dynamic Programming / Java • 문제 링크 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStre.. 2022. 11. 30. [백준] 2493 탑 - Data Structure / Java • 문제 링크 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net • 풀이 과정 각각의 탑의 번호와 높이를 저장할 Tower 객체를 정의하고 Stack 자료구조의 제네릭으로 지정한다. 입력받은 탑의 정보를 스택에 삽입하면서, peek() 하여 반환한 스택 최상단 요소의 height 값, 즉 왼쪽 탑의 높이를 현재 탑과 비교하여 만약 왼쪽 탑이 높이가 낮다면 레이저 신호를 수신할 수 없으므로 pop() 하고, 높이가 같거나 높다면 해당 왼쪽 탑의 번호를 정답으로써 출력한다. 만약 스택이 비어있을 시, 현재 탑으로.. 2022. 11. 29. [백준] 2504 괄호의 값 - Data Structure / Java • 문제 링크 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 X www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Stack; public class Main { public static void main(String.. 2022. 11. 28. [백준] 3986 좋은 단어 - Data Structure / Java • 문제 링크 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Stack; public class Main { public static void main(String[] args) .. 2022. 11. 27. [백준] 11899 괄호 끼워넣기 - Data Structure / Java • 문제 링크 11899번: 괄호 끼워넣기 첫 번째 줄에 S를 올바른 괄호열으로 만들기 위해 앞과 뒤에 붙여야 할 괄호의 최소 개수를 출력합니다. 불가능한 경우는 주어지지 않습니다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { B.. 2022. 11. 26. 이전 1 ··· 184 185 186 187 188 189 190 ··· 222 다음