[BOJ/DP] 백준 2193 - 이친수 (Java)
·
Coding Test/BOJ
2193 - 이친수https://www.acmicpc.net/problem/2193문제이친수(pinary number): 0과 1로만 이뤄진 수1. 0으로 시작 X2. 1이 2번 연속으로 나타나지 X (11을 부분 문자열로 갖지 X)ex. 1, 10, 100, 101, 1000, 1001 등But, 0010101 or 101101은 X입력: N (1 출력: N자리 이친수의 개수풀이`dp[i]`: 길이 i일 때 이친수의 개수`dp[i] = dp[i - 1] + dp[i - 2]``dp[i - 1]`: 마지막 숫자가 0인 경우앞에 무슨 숫자든 상관 X => 길이 N - 1의 모든 이친수에 0만 붙이면 됨`dp[i - 2]`: 마지막 숫자가 1인 경우그 앞에 반드시 0이 와야 함 -> 마지막 두 자리가 01이..
[BOJ/Greedy] 백준 1080 - 행렬 (Java)
·
Coding Test/BOJ
1080 - 행렬https://www.acmicpc.net/problem/1080문제0과 1로만 이뤄진 행렬 A, B행렬을 변환하는 연산은 어떤 3x3 크기의 부분 행렬에 있는 모든 원소를 뒤집는 것 (0 -> 1, 1 -> 0)=> 행렬 A를 행렬 B로 바꾸는데 필요한 연산의 횟수의 최솟값?입력첫째 줄: 행렬의 크기 N, M (N, M (자연수) 둘째 줄부터 N개의 줄: 행렬 A그 다음줄부터 N개의 줄: 행렬 B출력: 정답만약 A를 B로 바꿀 수 X => -1 출력풀이3x3 범위 => `i 0 1: `1 - A[x][y]`int cnt = 0;for (int i = 0; i 코드import java.io.*;import java.util.*;// 행렬public class boj_1080 { s..
[BOJ/Greedy] 백준 1783 - 병든 나이트 (Java)
·
Coding Test/BOJ
1783 - 병든 나이트https://www.acmicpc.net/problem/1783문제병든 나이트가 N x M 크기 체스판의 가장 왼쪽아래 칸에 위치4가지로만 움직일 수 있음1. 2칸 위로, 1칸 오른쪽2. 1칸 위로, 2칸 오른쪽3. 1칸 아래로, 2칸 오른쪽4. 2칸 아래로, 1칸 오른쪽병든 나이트는 여행을 시작하려고 하고, 여행을 하면서 방문한 칸의 수를 최대로 하려고 함이동 횟수가 4번보다 적지 않다면, 이동 방법을 모두 한 번씩 사용해야 함/ 4번보다 적은 경우(방문한 칸 => 체스판의 크기가 주어졌을 때, 병든 나이트가 여행에서 방문할 수 있는 칸의 최대 개수?입력: 체스판의 세로 길이 N, 가로 길이 M (N, M (자연수) 출력: 여행에서 방문할 수 있는 칸의 개수 중 최댓값풀이행 =..
[BOJ/BFS] 백준 4963 - 섬의 개수 (Java)
·
Coding Test/BOJ
4963 - 섬의 개수https://www.acmicpc.net/problem/4963문제정사각형으로 이뤄져 있는 섬과 바다 지도한 정사각형과 가로, 세로, 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 걸어서 갈 수 있는 경로가 있어야 함지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없음=> 섬의 개수?입력여러 개의 테스트 케이스로 이뤄져 있음각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 h가 주어짐 (w, h (양의 정수) 입력의 마지막 줄에는 0이 2개 주어짐출력: 각 테스트 케이스에 대해서, 섬의 개수풀이가로, 세로, 또는 대각선으로 이동 가능static int[] dx = {-1, -1, -1, 0, 0, 1, 1, 1..
[BOJ/DFS] 백준 24479 - 알고리즘 수업 - 깊이 우선 탐색 1 (Java)
·
Coding Test/BOJ
24479 - 알고리즘 수업 - 깊이 우선 탐색 1https://www.acmicpc.net/problem/24479문제N개의 정점과 M개의 간선으로 구성된 무방향 그래프(undirected graph)정점의 번호는 1 ~ N번, 모든 간선의 가중치는 1=> 정점 R에서 시작하여 깊이 우선 탐색으로 노드를 방문할 경우 노드의 방문 순서?입력첫째 줄: 정점의 수 N (5 다음 M개의 줄에 간선 정보 u, v 주어지며 정점 u와 정점 v의 가중치 1인 양방향 간선을 나타냄(1 모든 간선의 (u, v) 쌍의 값은 서로 다름출력첫째 줄부터 N개 줄에 정수를 한 개씩 출력i번째 줄에는 정점 i의 방문 순서를 출력시작 정점의 방문 순서는 1/ 시작 정점에서 방문할 수 X 경우는 0 출력풀이`graph[i]`: i번..
[BOJ/DP] 백준 11052 - 카드 구매하기 / 16194 - 카드 구매하기 2 (Java)
·
Coding Test/BOJ
11052 - 카드 구매하기https://www.acmicpc.net/problem/11052문제카드는 카드팩의 형태로만 구매, 종류는 1개 ~ N개가 포함된 카드팩까지 총 N가지카드의 개수가 작은 팩이더라도 가격이 비싸면 높은 등급의 카드가 많이 들어있을 것-> 돈을 최대한 많이 지불해서 카드 N개를 구매하려고 함카드 i개 포함된 카드팩의 가격: $P_i$ex. 카드팩 총 4 종류, $P_1$ = 1, $P_2$ = 5, $P_3$ = 6, $P_4$ = 7-> 카드 4개를 갖기 위해 지불해야 하는 금액의 최댓값: 10원 (2개 들어있는 카드팩 2번)=> 카드 팩의 가격이 주어졌을 때, N개의 카드를 구매하기 위해 민규가 지불해야 하는 금액의 최댓값?N개보다 많은 개수의 카드를 산 다음, 나머지 카드를..
kimmeoww
'분류 전체보기' 카테고리의 글 목록 (3 Page)