[백준] 9012번: 괄호 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 풀이 이 문제는 스택을 이용하여 해결할 수 있다. '('을 입력받은 경우 스택에 저장하고 ')'을 입력받은 경우에는 스택에서 제거하는 방법이다. 이 때, 스택이 비어있을 때')'을 입력받은 경우와 모든 입력을 처리 했는데 스택이 비어있지 않는 경우에는 입력받은 괄호 문자열이 잘못된 문자열인 것이다. 이번에는 mutableList를 이용해 스택을 구현해 보았다. 스택에서 push(n)에 해당하는 함수는 list.add(n)을 이..
[백준] 10828번: 스택 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 이 문제는 자바에서 기본적으로 제공하는 Stack을 이용해 풀이 할 수 있지만, 이번에는 배열과 포인터 역할을 하는 변수를 이용하여 구현해 보았다. 입력받은 N크기의 stack 배열을 생성하고, 사용자의 입력에 맞게 함수를 처리한다. push(n) 함수는 ptr을 1 증가시키고 stack[ptr]에 n을 저장한다. pop() 함수는 ptr이 -1이면 -1을 반환하고, 아니라면 stack[ptr]을 반환하고 ptr을 1 빼준다. size..