"꾸준하고 완벽한 한 걸음"

math 64

[백준 16400] 소수 화폐 [Java]

문제https://www.acmicpc.net/problem/16400 풀이N 이하의 소수들을 사용하여 N을 표현할 수 있는 방법의 수를 계산하는 문제다.우선 N이하의 소수들을 구해주자. private static boolean isPrime(int num) { final int sqrtN = (int) Math.sqrt(num) + 1; for (int i = 2; i List primeList = new ArrayList(); for (int i = 2; i dp[i] : 소수들의 합으로 숫자 i를 만드는 경우의 수dp[i]의 i는 소수의 합이기 때문에 dp[i]는 dp[i - prime]에 prime을 더하는 경우의 수를 누적하면 된다.즉 i..

[백준 11434] Ampelmännchen [Java]

문제https://www.acmicpc.net/problem/11434 풀이주어진 분쟁의 수와 주어진 분쟁에 대해 어떤 것을 선택하는게 더 좋은지에 행복도가 주어질 때, 최대 행복도를 구하는 문제다.문제의 조건대로 구현해주고, 최댓값을 계산하면 된다. int res = 0; while (N-- > 0) { st = new StringTokenizer(br.readLine()); final int a = Integer.parseInt(st.nextToken()); final int b = Integer.parseInt(st.nextToken()); final i..

[백준 11368] A Serious Reading Problem [Java]

문제https://www.acmicpc.net/problem/11368 풀이존재하는 책 제목에 대한 정보가 주어지면 총 몇 권이 있는지 계산하는 문제다.문제 속 예제를 통해 알 수 있듯, 주어지는 정보 C, W, L, P에 대해 순서대로 제곱 하면 책의 수를 알 수 있다.// Solveint cnt = num[0];for (int i = 1; i 소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/11368.java

[백준 11312] 삼각 무늬 - 2 [Java]

문제https://www.acmicpc.net/problem/11312 풀이한 변의 길이가 A, B인 삼각형이 있을 때 ( B ≤ A) B로 A를 완전히 덮기 위해 필요한 수를 출력하면 된다.이는 $(A / B)^2$이 된다. while (T-- > 0) { long[] info = Arrays.stream(br.readLine().split(" ")).mapToLong(Long::parseLong).toArray(); final long a = info[0]; final long b = info[1]; // Solve sb.append(a / b * a / b).append("\\n"); ..

[백준 11006] 남욱이의 닭장 [Java]

문제https://www.acmicpc.net/problem/11006 풀이닭의 다리 수의 합과 닭의 수가 주어졌을 때 다리가 1개 또는 2개인 닭의 수를 각각 계산해주는 문제다.모든 닭의 다리가 2개로 가정해보자.다리가 1개인 닭의 수는 2M - N이며, 다리가 2개인 닭의 수는 M - (2M - N) = N - M이 된다.import java.io.*;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { // Init BufferedReader br = new BufferedReader(new InputStreamReader..

[백준 06243] Mileage Bank [Java]

문제https://www.acmicpc.net/problem/6243풀이주어진 비행 정보에 따라 지급해야 하는 마일리지를 계산하는 문제다.TC의 수는 정해지지 않으며, 0을 입력받으면 각 케이스의 종료를 의미한다. 누적 마일리지를 출력하면 된다.#을 입력하면 프로그램을 종료해야 한다.입력받은 클래스 코드가 F라면 운행 거리의 2배를, B라면 1.5배를 더해주면 된다.이코노미라면 500또는 운행 거리 중 큰 값을 더하면 된다.소스코드보기