알고리즘/스택, 큐 14

[알고리즘] 크레인 인형뽑기(카카오) with Java

게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. 죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 아래 칸부터..

[알고리즘] 괄호 문자 제거 with Java

오늘 배운 것 1. 문제 풀이 . 앞의 문제와 거의 유사하다. import java.util.*; public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); String s = kb.next(); solution(s); } private static void solution(String s) { char[] chars = s.toCharArray(); Stack stack = new Stack(); StringBuilder answer = new StringBuilder(); for(char c : chars){ if(c == '('){ stack.push(c); continue; }els..

[알고리즘] 올바른 괄호 with Java, push(),pop(),size()

이번 챕터는 stack, queue에 대해 공부해보는 시간이다. 스택 큐는 자신있는 알고리즘 부분중 하나인데, 새로운 것이 있으면 적극 배워볼 생각이다. 오늘 배운 것 1. 문제 풀이 import java.util.*; public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); String s = kb.next(); solution(s); } private static void solution(String s) { char[] chars = s.toCharArray(); Stack stack = new Stack(); for(char c : chars){ if(c == '('){ stack..

[프로그래머스] 기능개발

기능개발 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 ..