일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Binary Tree
- implement
- 코딩테스트
- sorting
- Class
- dynamic programming
- greedy
- 자바
- simulation
- bit manipulation
- string
- java
- Counting
- Data Structure
- Matrix
- database
- Math
- Stack
- Method
- 코테
- SQL
- hash table
- 구현
- array
- geometry
- two pointers
- Binary Search
- 파이썬
- Tree
- Today
- Total
목록Math (269)
코린이의 소소한 공부노트
1. Input 1) ListNode l1 - 첫 번째 숫자를 일의자리부터 거꾸로 나타낸 ListNode 2) ListNode l2 - 두 번째 숫자를 일의자리부터 거꾸로 나타낸 ListNode 2. Output 1) 첫 번째 숫자와 두 번째 숫자의 합을 일의자리부터 거꾸로 나타낸 ListNode를 반환 3. Constraint 1) 각 linked list의 노드 수의 범위는 [1, 100]이다. 2) 0 Output: [8,9,9,9,0,0,0,1] 설명: - 342 + 465 = 807 - 9,999,999 + 9,999 = 10,009,998 5. Code /** * Definition for singly-linked list. * public class ListNode { * int val; *..

숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있다. 기사들은 무기점에서 무기를 구매하려고 한다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 한다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다. 무기를 만들 때 무기의 공격력 1당 1kg의 철이 필요하기 때문에 무기점에서 무기를 모두 만들기 위해 필요한 철의 무게를 미리 계산하려 한다. 1. Input, Output, Example - 기사단원의 수를 나타내는 정수 number와 이웃나라와 협약으로 정해진 공격력의 제한수치를 나타내는 정수 limit와 제한수치를..

셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. n을 d(n)의 생성자라고 한다. 위의 예시에서 75는 87의 생성자이다. 생성자가 없는 숫자를 셀프 넘버라고 한다. 100보다 작은 셀프 넘버는 총 13개가 있다. 1, 3, 5, 7, 9, 20, 31, 42, 53, 64, 75, 86, 97 10000보다 작거나 같은 셀프 넘버를 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 1. 입력 - 입..

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) 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 n - 3자리 자연수이다. 2. Output 1) n과 2*n, 3*n을 이어 붙여 9자리 자연수를 만들었을 때, 매혹적인 수가 된다면 true, 아니면 false를 반환 - 매혹적인 수란 1부터 9까지의 수를 모두 1개씩 갖고 있고, 0이 없는 수를 말한다. 3. Constraint 1) 100

어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다. 미르코를 도와 그가 만들고 싶어하는 수를 계산하는 프로그램을 작성하라. 1. 입력 - N을 입력받는다. N는 최대 105개의 숫자로 구성되어 있으며, 0으로 시작하지 않는다. 2. 출력 - 미르코가 만들고 싶어하는 수가 존재한다면 그 수를 출력하라. - 그 수가 존재하지 않는다면, -1을 출력하라. 3. 예제 4. 코드 import java.util.*; class Main{ public static void main(String[] args){ char[] nums = new Scanner(System.in..

세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 1. 입력 - 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. - 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. - 수는 0으로 시작할 수 있다. 입력으로 주어지는 식의 길이는 50보다 작거나 같다. 2. 출력 - 첫째 줄에 정답을 출력한다. 3. 예제 4. 코드 import java.io.*; class Main{ pub..