철학하는 개발자

있는 것은 있고, 없는 것은 없다.

PS/Baekjoon Online Judge 732

[백준 11466] Alex Origami Squares [Java]

문제https://www.acmicpc.net/problem/11466 풀이주어진 직사각형에서 최대 크기의 정사각형 3개를 만들 때 정사각형 한 변의 최대 길이를 구하는 문제다.우선, W와 H에 대해 W ≤ H가 되도록 값을 교환하자. // Solve if (W > H) { double temp = W; W = H; H = temp; }이제 직사각형에 정사각형을 배치할 수 있는 방법은 다음과 같이 두 가지가 존재하다.한 줄에 3개의 정사각형 배치두 줄로 배치결국 W와 H에 대해 더 작은 값으로 정사각형을 만들어야 한다.두 경우에 대해 최솟값을 구해주고, 이 중 더 큰 정사각형의 한 변을 구해주자. ..

[백준 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..

[백준 03151] 합이 0 [Java]

문제https://www.acmicpc.net/problem/3151풀이N개의 수 중에서 3개의 숫자 합이 0인 경우의 수를 찾으면 된다.N은 최대 10,000으로 완전 탐색을 하면 시간 초과가 발생한다.N^2 탐색으로 두 수를 고른 후, 이분 탐색으로 나머지 수를 찾으면 된다.두 수를 0부터 차례대로 완전 탐색을 하기 때문에 이분 탐색의 범위는 ( b + 1 ) ~ ( N - 1 ) 가 된다.이 때, 두 수 a, b에 대해 c가 1개가 아닐 수 있다.upper - lower로 동일한 c의 개수를 세주자.소스코드보기ttps://www.acmicpc.net/problem/3151 풀이N개의 수 중에서 3개의 숫자 합이 0인 경우의 수를 찾으면 된다.N은 최대 10,000으로 완전 탐색을 하면 시간 초과가 ..

[백준 06118] 숨박꼭질 [Java]

문제https://www.acmicpc.net/problem/6118  풀이양방향 그래프의 1번 정점으로부터의 최대 깊이를 가지는 정점의 번호와 깊이, 동일한 최대 깊이를 가지는 정점의 수를 구하는 문제다.양방향 그래프부터 구성하자.import java.io.*;import java.util.*;public class Main { static List> graph = new ArrayList(); static int N; static int[] depth; public static void main(String[] args) throws IOException { // Init BufferedReader br = new BufferedReader(new Inp..