일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 구현
- Number Theory
- sorting
- Binary Search
- Matrix
- 자바
- simulation
- dynamic programming
- array
- 코테
- Math
- 파이썬
- 코딩테스트
- two pointers
- string
- Tree
- database
- implement
- Method
- bit manipulation
- Data Structure
- java
- SQL
- hash table
- Binary Tree
- Stack
- Class
- greedy
- geometry
- Counting
- Today
- Total
목록Stack (28)
코린이의 소소한 공부노트
게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 한다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 한다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있다. 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸이다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 아래 칸부터 인형이 순서대로 쌓이게 된다. 다음 그림은..
1. Input 1) String s 2. Output 1) s에서 “AB" 또는 "CD”를 계속 없앨 때 나올 수 있는 결과 중 가장 짧은 길이를 반환 3. Constraint 1) 1
1. 입력 - 첫째 줄에 N과 K가 주어진다. (1 ≤ K < N ≤ 500,000) - 둘째 줄에 N자리 숫자가 주어진다. 이 수는 0으로 시작하지 않는다. 2. 출력 - 입력으로 주어진 숫자에서 K개를 지웠을 때 얻을 수 있는 가장 큰 수를 출력한다. 3. 예제 4. 코드 import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer token = new StringTokenizer(br.readLine())..
1. Input 1) String s 2. Output 1) s에서 가장 바깥 소괄호를 없앤 나머지를 반환 - s는 유효한 괄호들로 이루어져 있다. 3. Constraint 1) 1 Output: "()()()()(())" Input: s = "()()" -> Output: "" 설명: - “(()())”와 “(())”로 이루어져 있다. -> 가장 바깥 소괄호를 없애면 “()()”와 “()”이 된다. - “(()())”와 “(())”와 “(()(()))”로 이루어져 있다. -> 가장 바깥 소괄호를 없애면 “()()”와 “()”와 “()(())”이 된다. - “()”와 “()”로 이루어져 있다. -> 가장 바깥 소괄호를 없애면 둘다 “”이 된다. 5. Code 1) 첫 코드(2023/06/07) class..
1. Input 1) TreeNode root 2. Output 1) root를 inorder로 읽어온 후 모든 노드가 오른쪽 자식만 갖게 재배열한 결과를 반환 3. Constraint 1) 노드 수의 범위는 [1, 100]이다. 2) 0
1. Input 1) TreeNode root 2. Output 1) root를 후위순회한 결과를 리스트에 담아 반환 3. Constraint 1) root의 노드 수는 [0, 100]이다. 2) -100
1. Input 1) TreeNode root 2. Output 1) root를 전위순회한 결과를 리스트에 담아 반환 3. Constraint 1) root에 있는 노드의 수는 [0, 100]이다. 2) -100
1. Input 1) TreeNode root 2. Output 1) root를 중위순회한 결과를 담은 리스트를 반환 3. Constraint 1) root의 노드의 개수는 [0, 100] 2) -100
문자열이 균형을 이루려면 다음 조건을 만족해야 한다. - 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다. - 모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이뤄야 한다. - 모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다. - 모든 괄호들의 짝은 1:1 매칭만 가능하다. 즉, 괄호 하나가 둘 이상의 괄호와 짝지어지지 않는다. - 짝을 이루는 두 괄호가 있을 때, 그 사이에 있는 문자열도 균형이 잡혀야 한다. 1. 입력 - 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. - 입력의 종료조건으로 맨 마지막에 온점 하..
1. 입력 - 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 주어진다. - 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 괄호 문자열이 한 줄에 주어진다. 하나의 괄호 문자열의 길이는 2 이상 50 이하이다. 2. 출력 - 출력은 표준 출력을 사용한다. 만일 입력 괄호 문자열이 올바른 괄호 문자열(VPS)이면 “YES”, 아니면 “NO”를 한 줄에 하나씩 차례대로 출력해야 한다. 3. 코드 import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = ne..