본문 바로가기

stack3

(LEVEL 1)프로그래머스 - 같은 숫자는 싫어(JAVA) 문제 입출력 예 풀이. 1. 값을 담을 Stack을 2개 선언한다. 2. 첫 Stack에 arr의 첫번째 값을 넣어두고 인덱스 1부터 길이만큼 반복문을 돈다. >> 반복문을 돌며 stk에 제일 위에있는 값이 현재 값(arr[i]) 과 같지 않을때만 값을 추가. 3. size에 현재 stk의 size를 저장해놓음 4. 값을 반환할 answer의 크기를 size만큼 선언 5. size크기 만큼 반복문을 돌며 stk에 저장된 값들을 하나씩 두번째 스택인 temp에 저장 6. temp저장된 값들을 다시 하나씩 answer에 저장 --> 스택을 두개 만들어서 진행한 이유는 스택은 LIFO의 특성을 가지고있어 stk에 저장된 값을 꺼낼시 순서가 반대로 되어 한번더 스택에 진행하였음. 풀기는 했으나 풀이 방법이 효율.. 2023. 1. 30.
백준 9093번 단어 뒤집기(JAVA) 백준 9093번 https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 문제설명 테스트 케이스의 개수를 입력받고, 그 만큼 반복하며 문자열을 입력받는다. 그 후, 단어를 기준으로 뒤집어서 출력하는 프로그램을 작성. 접근 1. 단어 기준이므로 공백을 기준으로 데이터를 쪼개야 할 것같다고 생각을함. 2. 공백을 기준으로 하여 단어별로 뒤집어야하니 am이 입력될 시 ma로 후입선출 LIFO가 일어남. -> Stack을 사용하면 될것 같다고 생각함. .. 2022. 12. 27.
[JAVA] - 스택(Stack) 스택(Stack)이란? 자료 구조 중 하나인 Stack의 사전적 정의는 '쌓다', '더미'입니다. Stack의 가장 큰 특징은 나중에 들어간 것이 먼저 나오는 (Last In First Out)의 형태입니다. 스택(Stack)의 사용법 java.uitl.Stack을 import하여 사용 Stack 변수명 = new Stack(); 으로 선언 import java.util.Stack; Stack s = new Stack(); //String형 Stack선언 스택(Stack)의 연산 add(var) - 스택(Stack)에 var를 넣음. ( boolean형 리턴 true/false ) push(var) - 스택(Stack)에 var를 넣음 ( Exception 리턴 ) pop(var) - 스택(Stack)에.. 2022. 12. 27.