Problem Solving/BOJ

    [백준, BOJ 1932] 정수 삼각형 (java)

    출처-https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최� www.acmicpc.net 내 생각 : dp[i][1]은 dp[i-1][1]일 때만 올 수 있다. dp[i][i]는 dp[i-1][i-1]일 때만 올 수 있다. 나머지 dp[i][j]는 dp[i-1][j-1]와 dp[i-1][j]일 때 올 수 있다. 둘 중 더 큰 값이 온다. 마지막으로 dp[n][1]~dp[n][n] 중 최댓값을 출력한다. import java.util.*; publ..

    [백준, BOJ 1149] RGB거리 (java)

    출처-https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 내 생각 : color[i][0]에는 각 집에 빨강으로 칠하는 비용 color[i][1]에는 각 집에 초록으로 칠하는 비용 color[i][2]에는 각 집에 파랑으로 칠하는 비용 을 저장한다. dp[i][0]에는 dp[i-1][1]와 dp[i-1][2] 둘 중 +color[i][0]을 했을 때 더 작은 수, dp[i][1]에는 dp[i-1][0]와 dp[i-1][2] 둘..

    [백준, BOJ 11052] 카드 구매하기 (java)

    출처-https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 내 생각 : n개의 카드를 산다고 한다면 i가 1부터 2/n까지 dp[n-i]+dp[i]와 기존의 dp[n]을 비교해서 가장 큰 값을 dp[n]에 넣어준다. 이렇게 1부터 n까지의 dp 배열을 순서대로 저장해주면 가장 큰 수를 찾을 수 있다. import java.util.*; public class Main { public static void main(String[] args) { // TODO..

    [백준, BOJ 10992] 별 찍기 - 17 (java)

    출처-https://www.acmicpc.net/problem/10992 10992번: 별 찍기 - 17 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int N=scan.nextInt(); for (int i=1;i

    [백준, BOJ 10991] 별 찍기 - 16 (java)

    출처-https://www.acmicpc.net/problem/10991 10991번: 별 찍기 - 16 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int N=scan.nextInt(); for (int i=1;i0;j--) System.out.print(" "); System.out.print("*"); for (int j=1;j

    [백준, BOJ 2446] 별 찍기 - 9 (java)

    출처-https://www.acmicpc.net/problem/2446 2446번: 별 찍기 - 9 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int N=scan.nextInt(); for (int i=1;i

    [백준, BOJ 2522] 별 찍기 - 12 (java)

    출처-https://www.acmicpc.net/problem/2522 2522번: 별 찍기 - 12 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int N=scan.nextInt(); for (int i=1;i

    [백준, BOJ 2445] 별 찍기 - 8 (java)

    출처-https://www.acmicpc.net/problem/2445 2445번: 별 찍기 - 8 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int N=scan.nextInt(); for (int i=1;i

    [백준, BOJ 2442] 별 찍기 - 5 (java)

    출처-https://www.acmicpc.net/problem/2442 2442번: 별 찍기 - 5 첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int num=scan.nextInt(); for (int i=1;i

    [백준, BOJ 2441] 별 찍기 - 4 (java)

    출처-https://www.acmicpc.net/problem/2441 2441번: 별 찍기 - 4 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int count=scan.nextInt(); for (int i=count;i>=1;i--) { for (int j=1;j