일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sorting
- array
- 파이썬
- Stack
- Counting
- 코테
- Method
- 구현
- Binary Tree
- geometry
- java
- Data Structure
- string
- Number Theory
- 코딩테스트
- Class
- SQL
- dynamic programming
- Matrix
- 자바
- Binary Search
- Tree
- greedy
- bit manipulation
- implement
- database
- Math
- simulation
- two pointers
- hash table
- Today
- Total
목록수학 (10)
코린이의 소소한 공부노트
- 입력: 첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 10^12)이 공백을 사이에 두고 주어진다. - 출력: A+B+C의 값을 출력한다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] input = br.readLine().split(" "); long sum = 0; for(int i=0 ; i
구현 메서드: long sum(int[] a); (클래스 이름: Test) - a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) - 리턴값: a에 포함되어 있는 정수 n개의 합 public class Test { long sum(int[] a) { long ans = 0; for(int x : a) ans += x; return ans; } }
- 입력: 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. - 출력: 첫째 줄에 상수의 대답을 출력한다. // 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. // 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. // 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); char[] a = scan.next().toCharArray(), b = scan.next().toChar..
- 입력: 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. - 출력: 입력으로 주어진 숫자 N개의 합을 출력한다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.valueOf(br.readLine()), sum = (-48)*n; char[] input = br.readLine().toCharArray(); for(int i=0 ; i
// 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. // 배달을 갈 때 최대한 적은 봉지를 들고 가려고 한다. 18kg을 배달할 때, 3kg 6봉지보다 5kg 3봉지 + 3kg 1봉지가 봉지 수가 더 적다. - 입력: 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) - 출력: 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정확하게 N킬로그램을 만들 수 없다면 -1을 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in);..
1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … - 입력: 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. - 출력: 첫째 줄에 X번째 분수를 출력한다. // 표에 있는 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → 1/3 → … 과 같은 지그재그 순서로 차례대로 나열한다고 하면 2/1은 3번째 분수이다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(),..
- 입력: 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. - 출력: 1번방에서부터 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. // 시작과 끝을 포함하여 방의 개수를 센다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(), count = 1, sum = 1; while(n>sum){ sum += 6*count; count++; } System.out.println(count); } }
- 입력: 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 21억 이하의 자연수이다. // A는 고정비용, B는 노트북 1대를 생산하는데 드는 가변 비용, C는 노트북의 가격 - 출력: 첫 번째 줄에 손익분기점 즉 최초로 이익이 발생하는 판매량을 출력한다. 손익분기점이 존재하지 않으면 -1을 출력한다. import java.util.*; class Main { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int a = scan.nextInt(), b = scan.nextInt(), c = scan.nextInt(); if(b>=c) System.out.println(-1);..
- 입력: 입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다. M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다. - 출력: M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int m=scan.nextInt(), n=scan.nextInt(), min=0, sum=0; for(int i=m ; i
- 입력: 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. - 출력: 주어진 수들 중 소수의 개수를 출력한다. 1) 첫 코드(2023/02/20) import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.valueOf(br.readLine()); String[] input = br.readLine().split(" "); int answer = 0; for(int i..