스택
-
백준 17299번 오등큰수 문제 스택 활용 풀이 ( Java )Problem Solving/Java 2019. 10. 21. 17:40
17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 import java.io.BufferedReader; import java.io.BufferedWriter;..
-
백준 17298번 오큰수 문제 스택 활용 풀이 ( Java )Problem Solving/Java 2019. 10. 20. 21:44
17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 그 숫자의 오큰수에 해당하는 수를 구하는 것이 아닌 그 숫자가 어떤 수의 오큰수의 해당하는가로 접근하는 아이디어 자체를 생각못해서 헤맸다. 그 방법을 알게 되고도 스택에 index대신 값을 저장하는 방식을 택해 또 한참 헤맸다 여러모로 어려웠던 문제.. 나는 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 4..
-
백준 17413 단어 뒤집기2 문제 풀이 Stack 활용 ( Java )Problem Solving/Java 2019. 10. 19. 11:33
17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 있다. 문자열의 시작과 끝은 공백이 아니다. ''가 문자열에 있는 경우 번갈아가면서 등장하며, '') { // 태그 종료일 때 tag = false; // tag 안인지 확인하는 flag를 false로 바꾸고 bw.write(s.charAt(i)); // 그 단어 그대로 출력 } else if (tag) { // 태그 안일 경우 bw.write(s.charAt(i)); // 그 단어 그대로 출력 } else { // 태그 바깥일 경우 if(s.charAt(i)..
-
백준 9012번 괄호 문제 풀이 Stack 활용 ( Java )Problem Solving/Java 2019. 9. 5. 11:03
9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(conc www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4..
-
백준 9093 단어 뒤집기 문제 풀이 Stack 활용 ( Java )Problem Solving/Java 2019. 9. 4. 23:45
9093번: 단어 뒤집기 문제 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다. 출력 각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ..
-
스택에 대해 알아보자Knowledge/Data Structure 2019. 9. 4. 22:25
- 스택이란? 한쪽 끝 ( 가장 위 - Top )에서만 자료를 넣고 뺄 수 있는 자료구조. 마지막으로 넣은 것이 가장 먼저 나오기 때문에 LIFO ( Last In First Out ) 라고도 한다. - 주로 사용하는 메소드 push: 스택에 자료를 넣는 연산 pop : 스택에서 자료를 빼는 연산 peek: 스택의 가장 위에 있는 자료를 보는 연산 empty: 스택이 비어있는지 아닌지를 알아보는 연산 size: 스택에 저장되어있는 자료의 개수를 알아보는 연산 - 구현 정확한 구현이 아닌 백준 10828번 스택 문제 ( https://www.acmicpc.net/problem/10828 ) 의 조건 push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출..