분류 전체보기 233

크레인 인형뽑기(카카오)

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

괄호 문자 제거

설명 입력된 문자열에서 소괄호 ( ) 사이에 존재하는 모든 문자를 제거하고 남은 문자만 출력하는 프로그램을 작성하세요. 입력 첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다. 출력 남은 문자만 출력한다. 예시 입력 1 (A(BC)D)EF(G(H)(IJ)K)LM(N) 예시 출력 1 EFLM 수도 코드 (, 문자는 push ) 만나면, (까지 문자열 포함 제거 최종적으로 남아있는걸 return 정답 코드 import java.util.*; public class ParenthesisDelete { public String solution(String str) { String answer = ""; // Stack 만들기 Stack stack = new Stack(); // str에 들어온 ..

올바른 괄호

설명 괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다. (())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다. 입력 첫 번째 줄에 괄호 문자열이 입력됩니다. 문자열의 최대 길이는 30이다. 출력 첫 번째 줄에 YES, NO를 출력한다. 예시 입력 1 (()(()))(() 예시 출력 1 NO 수도 코드 ( 만나면 stack에 넣습니다. ) 만나고 ( (stack 맨 상단)을 만나면 pop합니다. — 이게 올바른 괄호 인 것 ) 만났는데, 스택이 비어있으면 잘 못 된것이므로 return “No” 합니다. 스택 비어있는지 확인 : isEmpty() 다 끝났을 때 stack이 비어있지 않다면, 이건 (가 많은 거니까 잘 못 된 것이므로..