알고리즘/스택(Stack)
-
[백준 2504] - [스택] - 괄호의 값 (JAVA)알고리즘/스택(Stack) 2018. 11. 30. 15:53
문제 링크 : https://www.acmicpc.net/problem/2504 이문제는 백준 9012 번 문제의 업그레이드 문제이다. 본인의 풀이와 문제링크를 첨부한다. 백준 9012 문제 링크 2018/11/30 - [알고리즘/스택(Stack)] - [백준 9012] - [스택] - 괄호 (JAVA) 이전글에서 유효한 괄호 문자열을 만드는거에 괄호갖는 값 을 계산하는 문제이다. 여는 괄호가 나올때는 문제없이 스택에 PUSH 하면 되지만 닫는 괄호가 나올때가 문제이다. [ ( ) ] 의 괄호 문자열이 입력 됐다면 답은 6이 나온다.왜 그럴까? () 괄호가 갖는 값은 2 이고 []괄호가 갖는 값은 3X가 정수일때 (X)는 X*2 이고 [X] 는 X*3이라고 하니깐 [ ( ) ] 는 [2] 로 되고 6이 ..
-
[백준 9012] - [스택] - 괄호 (JAVA)알고리즘/스택(Stack) 2018. 11. 30. 14:25
문제 링크 : https://www.acmicpc.net/problem/9012 이문제는 괄호 문제중에서 제일 쉬운 문제이다. 다른 괄호문제는 소괄호 중괄호 대괄호가 나오는데 이 문제는 소괄호 하나로 유효한 괄호 문자열인지 확인하는 문제이다. 쉽게 따지면 그냥 여는 괄호가 나오면 스택에 PUSH 하고 닫는 괄호가 나오면 POP 하면 된다. 유효하지 않은 문자열을 판단하는 기준은 두가지가 있다. POP연산을 하려고 하는데 Stack 이 비어 있다면 이번 순서에는 여는 괄호가 입력 돼야하는데 닫는괄호가 입력 됐다는 말이므로 유효하지 않다고 할 수 있다. 두번째는 모든 연산을 다 끝냈는데 불구하고 스택에 아직도 괄호가 남아 있다면 여는 괄호가 닫는괄호보다 많이 들어왔다는 거고 이 또한 유효하지 않은 괄호 문자..
-
[백준 1874] - [스택] - 스택 수열 (JAVA)알고리즘/스택(Stack) 2018. 11. 30. 13:57
문제 링크 : https://www.acmicpc.net/problem/1874 이문제는 스택의 활용 문제로 보인다. 스택을 이해하면 풀수 있다! 하는거 같다. 근데 정답률이 좀 낮은 편이다. 그 이유는 문제가 변태적이기 때문이다. 솔직히 내가 느끼기에는 변태적이었다. 일단 이문제를 접근하는 방법은 의외로 간단했다. 12345 public static int N; // 입력받을 수열의 크기 public static int num = 1; // 수열을 만들기 위해 1 ~ N가 되는 수 public static int[] arr; // 입력받을 수열이 저장될 배열 public static Stack stack; // 수열을 만들기 위해 1 ~ N 까지의 수가 저장될 스택cs 이문제를 풀기위해 변수는 4개 사..
-
[백준 10828] - [스택] - 스택 (JAVA)알고리즘/스택(Stack) 2018. 11. 30. 12:30
문제 링크 : https://www.acmicpc.net/problem/10828 이 문제는 별로 쓸 글은 없다.단순히 스택이 어떻게 돌아가는지 이해하는 문제여서 소스만 이쁘게 작성하면 된다. 소스 123456789101112131415161718192021222324252627282930313233343536373839import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer; public class Main { public static int size; public static Stack stack; ..