본문 바로가기

백준98

백준 11726번 : 2xn 타일링 문제 www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 구현 방법 위의 계산을 통해 dp[N] = dp[N-2]*2 + dp[N-1] 임을 알 수 있습니다. 10007로 나눈 나머지를 출력해줘야 되기 때문에 dp에 값을 저장할 때부터 나눈 값을 저장해줍니다. 출력할 때 나누어 주면 수가 int 범위를 넘어서기 때문에 미리 저장하여 나눠줍니다. 구현 코드 package BOJ.Silver; import java.io.BufferedReader; import java.io.IOExce.. 2021. 3. 21.
백준 2193번 : 이친수 문제 www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 구현 방법 점화식을 구해보면 dp[N] = dp[N-2] + dp[N-1] 임을 알 수 있습니다. 다만 N이 90까지이므로 int 범위를 넘어서 dp 배열을 long 타입으로 선언해줘야 합니다. 구현 코드 package BOJ.Silver; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRe.. 2021. 3. 21.
백준 1743번 : 음식물 피하기 문제 www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ 10,000)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진 www.acmicpc.net 구현 방법 dfs/bfs를 통해 구현해줍니다. 들어가는 개수를 카운트 하고 끝날때마다 비교해서 최댓값을 구해줍니다. 구현 코드 package BOJ.Silver; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.St.. 2021. 3. 21.
백준 2573번 : 빙산 문제 www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 구현 방법 단계별로 생각해보았습니다. 1. 빙산 주변을 탐색해서 빈 칸 개수 세어줌 2. 해당되는 빈 칸 개수 빼줌 3. 빙산 덩어리 개수 확인 4-1. 다 녹지 않았거나 덩어리가 1개라면 다시 반복 4-2. 다 녹았다면 0, 덩어리가 2개 이상이라면 시간 출력 빙산 주변을 탐색하여 빈 칸을 세어주고 바로 빼주면 다음 빙산 칸이 빈 칸으로 인식합니다. 따라서 빈 칸 개수는 따로 2차원 int 배열에 .. 2021. 3. 21.