본문 바로가기

boj127

[Java] 백준 11726번 2xn 타일링 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 풀이 DP를 이용해서 1x2 타일을 두는경우와 2x1 타일을 두는경우를 구해 10007로 나눈 나머지를 출력하여 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static int n; public static int[] memo = new int[1001]; public final static int.. 2021. 3. 26.
[Java] 백준 9095번 1, 2, 3 더하기 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 풀이 DP를 사용해서 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static int T, n; public final static int N = 12; public static int[] memo = new int[N]; public static void main(String[] args) throws NumberFormatException, IOException { Bu.. 2021. 3. 25.
[Java] 백준 2839번 설탕 배달 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 DP를 사용하여 해결했습니다. N까지의 최소의 수를 구해야하기때문에 memo 배열을 Integer.MAX_VALUE로 초기화하여 만약 아무런 봉지를 선택안하거나 둘 중 하나만 선택하는 경우에서 잘못된 값이 들어가지 않게 했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class .. 2021. 3. 24.
[C++] 백준 14889번 : 스타트와 링크 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 문제 백준문제이미지 풀이 N은 짝수이므로 항상 두팀으로 나누는게 보장된다. 따라서, N / 2는 1로 나머지 N / 2는 0으로 만들어 1팀과 0팀으로 나누고 sort를 해준뒤 순열을 사용하면 된다. 문제점 첫번째 팀은 첫번째 팀과 두번째 팀은 두번째 팀끼리 더해야 함을 주의 코드 #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); co.. 2020. 5. 30.
[C++] 백준 14888번 : 연산자 끼워넣기 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, �� www.acmicpc.net 문제 백준문제이미지 풀이 연산자의 수는 입력받은 수보다 1개가 적다. 각각의 연산자에 숫자를 부여하고 부여한 숫자를 연산자의 수 만큼 배열에 차례대로 추가하여 순열을 사용하면 된다. 문제점 첫째 줄에 최댓값을, 둘째 줄에는 최솟값을 출력해야 하는데 반대로 출력해버린 실수를 저질렀다... minmax_element를 사용할 때 second에 최댓값, first에 최솟값임을 주의하자! 코드 #include .. 2020. 5. 30.
[C++] 백준 1339번 : 단어 수학 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 문제 백준문제이미지 풀이 최대값을 구하는 문제이므로 큰 숫자들만 넣어서 조사해보면 된다. 각 알파벳에 숫자를 매칭시키기 위해 unique와 erase를 사용해서 중복된 알파벳을 제거시켜야 한다. 문제점 unique를 쓰기전에 반드시 sort가 필요하다. 또한 erase를 사용할 때 매개변수를 잘 확인해서 사용하는것을 주의하자. 코드 #include #include #include #include using namespace std; char alpha[25.. 2020. 5. 30.