일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스 도둑질 java
- Math.ceil()
- 백준 15661
- 백준 16935
- 네트워크
- 프로그래머스 숫자의 표현 java
- 백준 11723
- time complexity
- 프로그래머스 옹알이 java
- 프로그래머스 연속된 수의 합 java
- java 올림
- 백준 14391
- 자바
- sort
- 알고리즘
- 백준 4375
- 백준 17425
- 프로그래머스 네트워크 java
- java 내림
- Arrays
- Math.floor()
- 0으로 채우기
- java 반올림
- java
- 백준 16927
- mysql
- 코딩테스트
- Algorithm
- Codility
- 백준 18290
- Today
- Total
목록Algorithm/백준 (80)
취미처럼
https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 열 교환 진행 후 가로 세로 확인 > 이어진 max 값 체크 후 다시 원상복구 행 교환 진행 후 가로 세로 확인 > 이어진 max 값 체크 후 다시 원상복구 가장 마지막 열과 행은 교환이 불가하므로 입력값 N에서 1을 뺀다. import java.util.*; import java.io.*; public class Main { public static char[][] arr; public static int N; public static int max = 0; public static void main(String..
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 브루트토스 알고리즘 : 하나하나 모두 대입해서 찾는 방법 2개의 fake를 제외하고 합이 100이라면 정답 import java.util.*; public class Main { public static void main(String[] args) throws Exception { int[] arr = new int[9]; int sum = 0; Scanner sc = new Scanner(System.i..
https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net 출력값 a, b 는 홀수에 소수이므로 항상 3부터 시작 따라서 b - a가 가장 큰 값은 a가 3일 때임 에라토스테네스의 체로 미리 전체값 소수 판별 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedRe..
https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 주어진 수의 범위 내의 모든 소수 구하기 에라토스테네스의 체 알고리즘을 이용 미리 범위만큼의 boolean 배열을 생성하여 소수가 아닌 것은 false로 변경 어떤 수의 배수는 소수가 아니므로 모두 제거 0 과 1은 소수가 아니므로 제외 import java.util.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc..
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int count = sc.nextInt(); int ans = 0; for(int i=0; i < count; i++) { boolean isPrime = true; int num = sc.nextInt(); // 1인경우 넘..
https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 최대공약수는 유클리드 호제법으로 구현 두 수 a, b가 있을 때 나머지가 0이 될때까지 재귀함수로 구현 나머지가 0일 때 그 수가 최대공약수 최소 공배수 : a * b / a, b의 최대공약수 import java.util.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int a = sc.nextInt..
https://www.acmicpc.net/problem/17425 17425번: 약수의 합 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 테스트 케이스마다 출력하는 문제 시간초과가 발생한다. 그래서 미리 모든 경우의 수를 구해 저장해서 해당 값을 출력만 하는 방식으로 풀어야 한다. 코테 경험이 없어 실제로 이런 방식으로 출제되는지 궁금하다. import java.util.*; import java.io.*; public class Main { public static void ..
https://www.acmicpc.net/problem/17427 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 문제 해석이 제일 어렵다. 입력값 N보다 작거나 같은 모든 수의 약수의 합을 구하라는 문제 입력값이 9 라면 1의 약수 : 1 2의 약수 : 1, 2 3의 약수 : 1, 3 4의 약수 : 1, 2, 4 5의 약수 : 1, 5 6의 약수 : 1, 2, 3, 6 7의 약수 : 1, 7 8의 약수 : 1, 2, 4, 8 9의 약수 : 1, 3,..
https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 약수의 특징을 알아보자 24의 약수 = { 1, 2, 3, 4, 6, 8, 12, 24 } 1 * 24 = 24 2 * 12 = 24 3 * 8 = 24 4 * 6 = 24 문제에서 1 과 N 이 진짜 약수가 아니라는 말은 입력값에 1, 24가 들어오지 않는다는 말이다. 따라서 24의 진짜 약수는 { 2, 3, 4, 6, 8 12 } 최소값과 최대값을 곱하면 쉽게 구할 수 있다. impor..
https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 문제를 읽어도 무슨 소리인지 알 수가 없었다. 1, 11, 111, 1111 이런 수를 찾으라는 문제 ;; 1 * 10 + 1 = 11 11 * 10 + 1 = 111 111 * 10 + 1 = 1111 이 반복으로 대충 풀었지만 범위를 벗어나서 시간초과.. 입력된 n으로 다시 나머지를 구해서 수를 줄이면서 반복한다. import java.util.*; public class Main { public static void main(String[] args)..