백준
-
백준(BOJ) 17143번 낚시왕알고리즘 풀이/백준(Boj) 2019. 12. 19. 14:43
문제 : https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. 칸에는 상어가 최대 한 마리 들어있을 수 있다. 상어는 크기와 속도를 가지고 있다. 낚시왕은 처음에 1번 열의 한 칸 왼쪽에 있다. 다음은 1초 동안 일어나는 일이며, 아래 적힌 순서대로 일어난다. 낚시왕은 가장 오른쪽 열의 오른쪽 칸에 이동하 www.acmicpc.net 풀이 : 속도 배열, 크기 배 열등을 tuple로 한꺼번에 모아서 처리해보았다. 를 나타낸다. 옮길 때에는 옮긴 상어들끼리의 ..
-
백준(BOJ) 16918번 봄버맨알고리즘 풀이/백준(Boj) 2019. 12. 19. 14:37
문제 : https://www.acmicpc.net/problem/16918 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net 풀이 : v벡터 배열에는 폭탄 여부 , 폭탄 시간을 넣어서 풀이하였다. 폭탄 설치는 짝수 시간에만 해주어야 하고 터뜨릴 때에는 기존 터뜨릴 좌표를 0으로 만들 수 있기 때문에 temp라는 복사된 배열을 이용하였다. 코드( C++ )
-
백준 BOJ 13458번 시험 감독알고리즘 풀이/백준(Boj) 2019. 12. 17. 14:20
문제 : https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 풀이 : 총 감독관 1명은 무조건 있어야 하므로 sum++ 를 해주자. 총감독관이 커버하고 남은 수가 0보다 크다면 부감독관을 써야 한다. 부감독관이 커버할 수 보다 남은 수가 적다면 1명만 쓰면 되므로 단순히 +1을 아니라면 나눈 수만큼 더해주자. 이때 나누어 떨어지지 않는다면 +1을 추가로 해주어야 한다. ( sum을 long ..
-
백준(BOJ) 12100번 2048 (Easy)알고리즘 풀이/백준(Boj) 2019. 12. 15. 15:55
문제 : https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2보다 크거나 같고, 1024보다 작거나 같은 2의 제곱꼴이다. 블록은 적어도 하나 주어진다. www.acmicpc.net 풀이 : solve 함수는 각 함수마다 위쪽 아래쪽 왼쪽 오른쪽으로 배열 a를 몰아준 후에 cnt가 5가 될 때까지 재귀 함수를 돌린다. 5번 다 몰았다면 이때 가장 큰값은 2중 for문을 통해 best에 저장한다. 코드 ( C++ )
-
백준(BOJ) 17471번 게리맨더링알고리즘 풀이/백준(Boj) 2019. 12. 15. 01:39
문제 : https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 풀이: picked 배열과 나머지 temp 배열을 구한 후 BFS를 통해 연결되있는지 확인한다. 둘 다 연결이 된 상태라면 차를 구한다. picked 배열은 1부터 시작해서 23456까지 탐색하게 된다. 코드 ( C++ )
-
백준(BOJ) 16922번 로마 숫자 만들기알고리즘 풀이/백준(Boj) 2019. 12. 9. 02:27
문제 : https://www.acmicpc.net/problem/16922 16922번: 로마 숫자 만들기 2, 6, 10, 11, 15, 20, 51, 55, 60, 100을 만들 수 있다. www.acmicpc.net 풀이 : 재귀적으로 구현해 주었는데 현재 위치를 고르고 다음 위치를 가는 경우와 현재 위치를 고르고 또 현재 위치에 남아있는 경우 현재 위치를 고르지 않고 다음 위치를 가는 경우 이렇게 3가지로 분류해 주었다. 코드 ( C++ )
-
백준(BOJ) 16917번 양념 반 후라이드 반알고리즘 풀이/백준(Boj) 2019. 12. 8. 02:44
문제 : https://www.acmicpc.net/problem/16917 16917번: 양념 반 후라이드 반 현진 치킨에서 판매하는 치킨은 양념 치킨, 후라이드 치킨, 반반 치킨으로 총 세 종류이다. 반반 치킨은 절반은 양념 치킨, 절반은 후라이드 치킨으로 이루어져있다. 양념 치킨 한 마리의 가격은 A원, 후라이드 치킨 한 마리의 가격은 B원, 반반 치킨 한 마리의 가격은 C원이다. 상도는 오늘 파티를 위해 양념 치킨 최소 X마리, 후라이드 치킨 최소 Y마리를 구매하려고 한다. 반반 치킨을 두 마리 구입해 양념 치킨 하나와 후라이드 치킨 하나를 만드는 방법도 가 www.acmicpc.net 풀이 : C 같은 경우는 0.5씩 빠지므로 아예 2*C를 하나에 경우의 수로 보자 2*C를 i번 샀다면 A번은 ..
-
백준(BOJ) 16988번 Baaaaaaaaaduk2 (Easy)알고리즘 풀이/백준(Boj) 2019. 12. 2. 01:21
문제 : https://www.acmicpc.net/problem/16988 16988번: Baaaaaaaaaduk2 (Easy) 서기 2116년, 인간은 더 이상 AI의 상대가 되지 못하게 되었다. 근력, 순발력, 창의력, 사고력, 문제해결능력, 심지어 인간미조차 AI가 인간을 앞선다. AI가 온 지구를 관리하며 이미 인류는 지구의 주인 자리에서 쫓겨난지 오래이다. 그나마 다행인 것은 AI가 인간을 적대적으로 대하지 않고, 도리어 AI가 쌓아올린 눈부신 기술의 발전으로 모든 사람이 무제한적인 재화를 사용할 수 있게 되어 한 세기 전의 사람들이 바라던 돈 많은 백수와 같은 삶을 누릴 www.acmicpc.net 풀이 : 우선 좌표값이 0인 좌표들만 v 배열에 넣는다. 그 후 2개씩 뽑아서 각각의 경우를 ..