일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- implement
- 구현
- Binary Tree
- Class
- Counting
- Method
- hash table
- Matrix
- 파이썬
- java
- 코테
- simulation
- Binary Search
- dynamic programming
- Number Theory
- two pointers
- 코딩테스트
- Tree
- 자바
- array
- geometry
- database
- bit manipulation
- Math
- Stack
- SQL
- string
- sorting
- greedy
- Data Structure
- Today
- Total
목록string (235)
코린이의 소소한 공부노트
1. Input 1) String[] arr 2) int k 2. Output 1) arr의 중복되지 않은 요소들 중 k번째를 반환 - 그런 문자열이 없다면 빈 문자열을 반환 3. Constraint 1) 1
1. Input 1) String sentence - sentence는 1개 이상의 공백 문자로 구분되는 1개 이상의 토큰으로 쪼개질 수 있다. 2. Output 1) 다음 조건을 만족하는 토큰의 개수를 반환 - 숫자는 포함하지 않아야 한다. - 하이픈(-)은 최대 1개까지 있을 수 있으며, 반드시 영어 소문자로 둘러싸여 있어야 한다. - 문장부호는 최대 1개까지 있을 수 있으며, 만약 있다면 토큰의 맨 끝에 있어야 한다. 3. Constraint 1) 1
1. Input 1) String s 2. Output 1) s의 모든 문자를 'O'로 바꾸는 최소 횟수를 반환 - 한번에 연속된 3개의 문자를 O로 바꿀 수 있다. - O는 그대로 O이다. 3. Constraint 1) 3 OOOX -> OOOO 5. Code 1) 첫 코드(2023/04/26) class Solution { public int minimumMoves(String s) { int count = 0; for(int i=0 ; i

1. Input 1) String word 2. Output 1) word의 알파벳을 타이핑하는 데 필요한 최소 시간(초)을 반환 - 타자기는 원판으로 되어있다. - 처음 포인터는 a를 가리키고 있다. - 타자기는 시계방향 또는 반시계방향으로 돌릴 수 있다. - 포인터가 가리키고 있는 곳에서부터 타이핑하려는 문자까지 떨어진 칸의 수만큼 이동 시간이 걸린다. - 포인터가 가리키는 문자를 타이핑 하는데 1초가 걸린다. 3. Constraint 1) 1 b: 시계 방향으로 1칸 -> 1초 - b 타이핑: 1초 - b -> z: 반시계 방향으로 2칸 -> 2초 - z 타이핑: 1초 - z -> a: 시계 방향으로 1칸 -> 1초 - a 타이핑: 1초 - 1 + 1 + 2 + 1 + 1 + 1 = 7초가 걸리므로..
1. Input 1) String s 2) int k 2. Output 1) s를 다음과 같이 숫자로 변환한 후, 자리수의 합을 k번 구한 결과를 반환 - s의 알파벳을 a=1, b=2, ..., z=26으로 변환해서 이어붙인다. - 이어붙인 숫자의 자리 수의 합을 구한다. - 자리 수의 합을 구하는 과정을 k번 반복한다. 3. Constraint 1) 1
1. Input 1) String s 2. Output 1) s에 있는 숫자들 중 2번째로 큰 수를 반환 2) 2번째로 큰 숫자가 없다면 -1을 반환 3. Constraint 1) 1 Output: -1 5. Code 1) 첫 코드(2023/04/21) ArrayList list = new ArrayList(); for(int i=0 ; i
1. Input 1) String s1 2) String s2 2. Output 1) s1에 있는 문자 2개의 위치를 최대 1번 바꿔서 s2와 같아진다면 true를, 아니면 false를 반환 3. Constraint 1) 1 Output: false Input: s1 = "kelb", s2 = "kelb" -> Output: true 5. Code 1) 첫 코드(2023/04/21) ArrayList index = new ArrayList(); for(int i=0 ; i
1. 입력 - 첫째 줄에 테스트케이스의 개수 T가 주어진다. (1
문자열이 균형을 이루려면 다음 조건을 만족해야 한다. - 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다. - 모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이뤄야 한다. - 모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다. - 모든 괄호들의 짝은 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..