전체 글

전체 글

    [PS] 인프런 강의 - Stack & Queue 5. 쇠막대기

    [PS] 인프런 강의 - Stack & Queue 5. 쇠막대기

    문제 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다. • 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다. • 각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다. • 레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다. 아래 그림은 위 조건을 만족하는 예를 보여준다. 수평으로 그려진 굵은 실선은 쇠막대기이고, 점은 레이저의 위치, 수직으로 그려진 점선 화살표는 레이저의 발사 방향이다. 이러한 레이저와 쇠막대기의 배치는 다음과 같이 괄호..

    [PS] 인프런 강의 - Stack & Queue 4. 후위식 연산(postfix)

    문제 후위연산식이 주어지면 연산한 결과를 출력하는 프로그램을 작성하세요. 만약 3*(5+2)-9 을 후위연산식으로 표현하면 352+*9- 로 표현되며 그 결과는 12입니다. ▣ 입력설명 첫 줄에 후위연산식이 주어집니다. 연산식의 길이는 50을 넘지 않습니다. 식은 1~9의 숫자와 +, -, *, / 연산자로만 이루어진다. ▣ 출력설명 연산한 결과를 출력합니다. ▣ 입력예제 1 352+*9- ▣ 출력예제 1 12 풀이 후위식 연산은 일반 연산과 달리 연산자가 숫자 뒤에 붙는 식이다. 예를 들어 2+3 이 23+ 로 표현된다. 스택 pop을 할때 뒤에있는 숫자가 먼저 나오기 때문에 절댓값 처리를 해줘야 한다~ 코드 import java.util.LinkedList; import java.util.Queue;..

    [PS] 인프런 강의 - Stack & Queue 3. 크레인 인형뽑기(카카오)

    [PS] 인프런 강의 - Stack & Queue 3. 크레인 인형뽑기(카카오)

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

    [Numble 챌린지 개발일지] 2주차 협업방식 정하기, ERD 설계

    [Numble 챌린지 개발일지] 2주차 협업방식 정하기, ERD 설계

    컨셉 회의가 끝난 뒤 !! 백엔드 팀에서 따로 회의를 잡아 사용 기술, 컨벤션 등의 팀 규칙을 논의 했습니다. RDBMS를 사용해야해서 다들 익숙한 MySQL을 사용하고, 클라우드는 넘블 측에서 무료 크레딧을 제공해주는 Naver Cloud를 사용하기로 했습니다. Git으로 협업하기 사실 이전까지는 깃을 잘 활용해서 협업한 적이 없었는데, 이번에는 제대로 해보고 싶은 욕심이 있었어요👀 우선 Git으로 협업하는 방법을 알기위해서 지옥에서 온 관리자 Git 강의를 들어보았습니다..! 특히 소규모 협업 시나리오, 대규모 협업하기 파트가 굉장히 도움이 되었습니다. 게다가 무료강의에요! https://www.youtube.com/watch?v=uA6lzRppb6E&list=PL93mKxaRDidFtXtXrRtAA..

    [PS] 인프런 강의 - Stack & Queue 2. 괄호문자제거

    문제 입력된 문자열에서 소괄호 ( ) 사이에 존재하는 모든 문자를 제거하고 남은 문자만 출력하는 프로그램을 작성하세요. ▣ 입력설명 첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다. ▣ 출력설명 남은 문자만 출력한다. ▣ 입력예제 1 (A(BC)D)EF(G(H)(IJ)K)LM(N) ▣ 출력예제 1 EFLM 풀이 앞서 푼 문제와 비슷하다. 그나저나 while문을 그냥 while(stack.pop() != '('); 이렇게 써도 되는 구나... 대괄호 쓰고 내용이 비어서 당황했는데. 새로운 걸 알았다. 코드 import java.util.Scanner; import java.util.Stack; public class Main { public static void main(String[] ..