Problem Solving/BOJ

    [백준, BOJ 2439] 별 찍기 - 2 (java)

    출처-https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 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 count=scan.nextInt(); for (int i=count-1;i>=0;i--) { for (int j=1;j

    [백준, BOJ 2438] 별 찍기 - 1 (java)

    출처-https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 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 num=scan.nextInt(); for (int i=1;i

    [백준, BOJ 10818] 최소, 최대 (java)

    출처-https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net mport 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();; int n[]=new int[n..

    [백준, BOJ 8393] 합 (java)

    출처-https://www.acmicpc.net/problem/8393 8393번: 합 문제 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. 출력 1부터 n까지 합을 출력한다. 예제 입력 1 복사 3 예제 출력 1 복사 6... 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(); int sum=0; for (int i=1;i

    [백준, BOJ 1924] 2007년 (java)

    출처-https://www.acmicpc.net/problem/1924 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1≤x≤12)와 y(1≤y≤31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. 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 monthToDay[]=new int[12]; //(해당 달-1)에 며칠까지..

    [백준, BOJ 2739] 구구단 (java)

    출처-https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 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 num=scan.nextInt(); for (int i=1;i

    [백준, BOJ 2742] 기찍 N (java)

    출처-https://www.acmicpc.net/problem/2742 2742번: 기찍 N 자연수 N이 주어졌을 때, 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=num;i>=1;i--) System.out.println(i); } }

    [백준, BOJ 2011] 암호코드 (java)

    출처-https://www.acmicpc.net/problem/2011 2011번: 암호코드 문제 상근이와 선영이가 다른 사람들이 남매간의 대화를 듣는 것을 방지하기 위해서 대화를 서로 암호화 하기로 했다. 그래서 다음과 같은 대화를 했다. 상근: 그냥 간단히 암호화 하자. A를 1이� www.acmicpc.net 내 생각 : 일단 처음 수(c[1])가 0이면 암호 해석은 불가능하다.(ans=0) i가 2~n.length() 일 때의 c[i]는 다음과 같은 경우가 발생할 수 있다. 우선 c[i]=0일 때는 c[i-1]가 1과 2일 때만 암호 해석이 가능하다. (10, 20) 그리고 이때는 무조건 c[i-1]가 c[i]와 묶여 하나의 경우만 가질 수 있으니 dp[i]=dp[i-2]이다. 만약 c[i-1]이..

    [백준, BOJ 2225] 합분해 (java)

    출처-https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 내 생각 : dp[0]은 몇자리수로 나타내건 1가지는 꼭 가능하다. dp[n][k]는 패턴을 분석해보면 알겠지만 dp[n][k]=dp[n][k-1]+dp[n-1][k-1]+dp[n-2][k-1]+...+d[1][k-1]+dp[0][k-1]이다. 이 식만 알아내면 쉽게 풀 수 있다. import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner scan=new Scanner(System.in); int n=scan..

    [백준, BOJ 9461] 파도반 수열 (java)

    출처-https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 � www.acmicpc.net 내 생각 : 험난한 DP 문제들을 풀던 중 만난 단비 같은 문제ㅎ 처음 문제 딱 들어가자마자 도형이 나와서 당황했지만, 문제에 은근히 발견하기 쉬운 패턴이 있어서 다행이었다. 우선 dp[0]=0, dp[1]=1, dp[2]=1는 주어졌고 dp[3]부터는 dp[i]=dp[i-3]+dp[i-2]라는 규칙이 있는 것을 알 수 있다. 따라서 이 식을 사용하여 문제를 풀면 됨. ==>> dp와 arr의..