일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 14391
- java 내림
- 0으로 채우기
- 네트워크
- 백준 16927
- Algorithm
- Codility
- 백준 15661
- mysql
- Math.ceil()
- 프로그래머스 네트워크 java
- 프로그래머스 숫자의 표현 java
- 백준 16935
- 프로그래머스 도둑질 java
- java 올림
- 알고리즘
- 자바
- 백준 4375
- 코딩테스트
- 백준 18290
- java
- time complexity
- 프로그래머스 옹알이 java
- 백준 17425
- sort
- Arrays
- 프로그래머스 연속된 수의 합 java
- java 반올림
- 백준 11723
- Math.floor()
- Today
- Total
목록Algorithm/백준 (80)
취미처럼
https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder();..
https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net arr 10 20 10 30 20 50 dp 1 2 1 3 1 4 max = 4 max값을 역순으로 뽑아서 해당 arr 값을 출력 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws ..
https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(Sy..
https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 1 2 3 4 5 6 7 0 10 100 1000 1010 10000 10010 10100 100000 100010 100100 101000 101010 1000000 1000010 1000100 1001000 1001010 1010000 1010010 1010100 1 1 101 1001 10001 10101 100001 100101 101001 1000001 1000101 10010..
https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 계단 수 : +1, -1 N번째 자릿수의 개념 ex ) 54321 첫번째 자릿수 : 1 두번째 자릿수 : 2 ... 다섯번째 자릿수 : 5 N번째 자릿수의 값이 0인 경우 : 1만 가능 N번째 자릿수의 값이 9인 경우 : 8만 가능 그 외 1~ 8은 +1, -1가능 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { long mod = 1000000000; ..
https://www.acmicpc.net/problem/15990 15990번: 1, 2, 3 더하기 5 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 같은 숫자가 2개 연속으로 나오면 안됨 숫자 n을 만들 수 있는 식 중 1로 끝나는 식은 dp[n][1]에, 2로 끝나는 식은 dp[n][2]에, 3으로 끝나는 식은 dp[n][3]에 담는다. 1. 7을 만들 수 있는 수식 중에서 1로 끝나는 수식(마지막에 1을 더해주는 경우) 은 6을 만드는 수식에서 2로 끝나는 것에 1을 더하는 것, 6을 만드는 수식에서 3으로 끝나는 것에 1을 더하는 것 따라서 dp[7][1] = dp[6][2] + dp[6..
https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLin..
https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 1. 테이블 정의 dp[i] = 카드가 i개일 때 최대 금액 2. 점화식 카드팩 1개 구매 : i - 1 개 추가 구매 가능 카드팩 2개 구매 : i - 2 개 추가 구매 가능 카드팩 3개 구매 : i - 3 개 추가 구매 가능 dp[i] = 현재금액[n] + dp[i-n] import java.util.*; import java.io.*; public class Main { public static v..
https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // n = ( n - 1 ) + ( n - 2 ) * 2 int dp[] = new int[1000 + 1]; dp..
https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // n = ( n - 1 ) + ( n - 2 ) int dp[] = new int[1000 + 1]; d..