일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Data Structure
- 파이썬
- string
- Matrix
- simulation
- greedy
- array
- Class
- bit manipulation
- sorting
- 자바
- 코테
- Method
- Number Theory
- implement
- Tree
- Counting
- Stack
- 구현
- java
- 코딩테스트
- dynamic programming
- Binary Search
- Math
- Binary Tree
- geometry
- two pointers
- hash table
- SQL
- database
- Today
- Total
목록코테 (982)
코린이의 소소한 공부노트

1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다. “4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다.” 이 추측은 아직도 해결되지 않은 문제이다. 백만 이하의 모든 짝수에 대해서, 이 추측을 검증하는 프로그램을 작성하시오. 1. 입력 - 입력은 하나 또는 그 이상의 테스트 케이스로 이루어져 있다. 테스트 케이스의 개수는 100,000개를 넘지 않는다. - 각 테스트 케이스는 짝수 정수 n 하나로 이루어져 있다. (6 ≤ n ≤ 1000000) - 입력의 마지막 줄에는 0이 하나 주어진다. 2. 출력 - 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공..
1. Input 1) int[] nums 2. Output 1) i
1. Input 1) String[] words 2. Output 1) words에서 찾을 수 있는 순서쌍의 최대 수를 반환 - words[i]와 words[j]가 순서쌍이 되려면 i Output: 0 5. Code class Solution { public int maximumNumberOfStringPairs(String[] words) { boolean[] visited = new boolean[words.length]; int count = 0; for(int i=0 ; i
1. Input 1) int mainTank - 트럭이 달리면서 소비하는 연료를 담은 탱크 2) int additionalTank - 여분 탱크로, 트럭이 달리면서 직접적으로 해당 연료를 소비할 수는 없다. 2. Output 1) 다음과 같이 계산했을 때 트럭이 달릴 수 있는 최대 거리를 반환 - 트럭은 연료 1리터로 10km를 갈 수 있다. - addtionalTank에 연료가 있는 한, mainTank의 연료 5리터를 소모할 때마다 addtionalTank의 연료 1리터가 mainTank로 자동 보충 된다. 3. Constraint 1) 1 0){ if(mainTank>=5){ used += 5; mainTank -= 5; if(additionalTank>0){ additionalTank--; mai..
1. Input 1) int[] nums 2. Output 1) nums의 요소 중 최솟값도 아니고 최댓값도 아닌 수 중 하나를 반환 2) 그런 수가 없다면 -1을 반환 3. Constraint 1) 1
1. Input 1) int n - 3자리 자연수이다. 2. Output 1) n과 2*n, 3*n을 이어 붙여 9자리 자연수를 만들었을 때, 매혹적인 수가 된다면 true, 아니면 false를 반환 - 매혹적인 수란 1부터 9까지의 수를 모두 1개씩 갖고 있고, 0이 없는 수를 말한다. 3. Constraint 1) 100
1. Input 1) int[] nums - nums.length == n - 1부터 n까지 무작위로 나열되어있는 배열 2. Output 1) 인접한 두 요소의 위치를 바꾸면서 맨 앞은 1이고 맨 뒤는 n인 배열을 만드는 데 필요한 최소 횟수를 반환 - 다른 요소들의 순서는 상관 없다. 3. Constraint 1) 2
1. Input 1) String s 2. Output 1) s에서 다음과 같은 작업을 수행했을 때 만들 수 있는 문자열의 길이 중 가장 작은 것을 반환 - 0부터 s.length()-1 사이의 인덱스 i를 고른다. - i번째 문자를 c라고 할 때, i를 기준으로 가장 가까운 c를 왼쪽에서 1개 오른쪽에서 1개를 지운다. - 더 이상 지울 수 없을 때까지 반복한다. 3. Constraint 1) 1 “abc" - 더 이상 지울 수 있는 것이 없으므로 3을 반환한다. 5. Code 1) 첫 코드 class Solution { public int minimizedStringLength(String s) { Set set = new HashSet(); for(int i=0 ; i
1. Input 1) String num 2. Output 1) num에서 후행 0을 뺀 결과를 반환 3. Constraint 1) 1 Output: "123" 5. Code class Solution { public String removeTrailingZeros(String num) { int i = num.length()-1; while(num.charAt(i)=='0') i--; return num.substring(0,i+1); } } - 100%, 94%