백준

    백준 18870번 좌표 압축 [ Java ]

    18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 값을 입력받은 후 입력 한 순서대로 출력 처리를 해야하기 때문에 sortedNum이라는 배열을 새로 만들어 주었습니다. sum이라는 변수로 해당 숫자의 값을 할당 시켰고 마지막엔 hashmap에서 숫자를 탐색해서 숫자 키에 해당하는 값을 출력하였습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader..

    백준 11659번 구간 합 구하기 4 [ Java ]

    11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net dp를 사용하여 D[1] 1번째 까지의 합 D[2] 2번째 까지의 합 .. 으로 저장하고 i부터 j까지면 D[j] - D[i]를 하면 맨 첫자리 숫자가 빠지므로 추가적으로 입력받은 + arr[i]를 해줍니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.u..

    백준 12852번 1로 만들기 2 [ Java ]

    12852번: 1로 만들기 2 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다. www.acmicpc.net 이전에 풀었던 1로 만들기 문제dp에 추가적으로 자취를 남길 변수를 사용합니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new String..

    백준 11057번 오르막 수 [ Java ]

    11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int mod = 10007; int N = Integer.parseInt(br.read..

    백준 3046번 R2 [ Python ]

    3046번: R2 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 www.acmicpc.net R1, S = map(int, input().split()) print(S*2-R1)

    백준 2475번 검증수 [ Python ]

    2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 입력을 받고 각 요소들을 제곱해서 더한 후 마지막에 10으로 나눕니다. sum = 0; for num in map(int, input().split()): sum += num**2 print(sum % 10)​

    백준 1912번 연속합 [ Java ]

    1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 현재 수만 사용했을 때와 현재까지 비교한값중 제일 큰 수와 현재수를 더했을때 값을 비교해서 담는다.. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.p..

    백준 14002번 가장 긴 증가하는 부분 수열 4 [ Java ]

    14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 가장 긴 증가하는 부분 수열 문제에서 DP결과를 저장하면서 저장하게 되는 결과가 나오게 근거 인덱스를 따로 만들어 저장합니다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Bu..

    백준 11053번 가장 긴 증가하는 부분 수열 [ Java ]

    11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net LIS (Longest increasing sequence) 문제 입니다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRea..

    백준 2193번 이친수 [ Java ]

    2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net N번째 이친수를 구하기 1) N번째가 0이 올 때 D(n-1) + 0 = D(n) 2) N번째가 1이 올 때 ( 바로 앞에 1이 올 수 없음 ) D(n-2) + 0 + 1 = D(n) 그러므로 D[N] = D[N-1] + D[N-2] import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Buffe..