stack

5.4. 후위식 연산(postfix) 문제 후위연산식이 주어지면 연산한 결과를 출력하라 입력 352+*9- 출력 12 풀이 후위식(postfix)이란? - 피연산자를 먼저 표시하고 연산자를 나중에 표시하는 방법 - 컴파일러가 사용하는 것으로 스택을 사용하는 예들 중 가장 빈번하게 등장 - ex) 3*(5+2)-9를 후위연산식으로 표현하면 → 352+*9- 로 표현되며 결과는 12이다. 첫 번째 풀이 public int solution(String str) { int answer = 0; Stack stack = new Stack(); // 0 : 48 ~ 9 : 57 for (char x : str.toCharArray()) { if ((int) x >= 48 && (int) x = 48 && (int)..
5. 3. 크레인 인형뽑기(카카오) 문제 게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. 죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 ..
5.2. 괄호문자제거 문제 입력된 문자열에서 소괄호 ( ) 사이에 존재하는 모든 문자를 제거하고 남은 문자만 출력하는 프로그램을 작성 입력 (A(BC)D)EF(G(H)(IJ)K)LM(N) 출력 EFLM 풀이 import java.util.*; public class Main { public String solution(String str) { String answer = ""; Stack stack = new Stack(); for (char x : str.toCharArray()) { if (x == ')') { while (stack.pop() != '(') ; } else stack.push(x); } for (int i = 0; i < stack.size(); i++) { answer += sta..
5.1. 올바른 괄호 문제 입력된 괄호가 올바른 괄호이면 “YES", 올바르지 않으면 ”NO" 출력 (())() 는 괄호의 쌍이 올바르게 위치하는 것, (()()))은 올바른 괄호가 아님. 입력 (()(()))(() 출력 NO 풀이 import java.util.*; public class Main { public String solution(String str) { String answer = "YES"; Stack stack = new Stack(); for(char c : str.toCharArray()) { if(c == '(') stack.push(c); else { if(stack.isEmpty()) return "NO"; // 닫는 괄호가 더 많을 경우 stack.pop(); // 상단의 문..
najiwon
'stack' 태그의 글 목록