알고리즘 풀이
-
백준(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++ )
-
프로그래머스 - 다리를 지나는 트럭알고리즘 풀이/프로그래머스 2019. 12. 14. 11:58
문제 : https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 | 프로그래머스 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서 programmers.co.kr 풀이 : cand의 second에는 +1씩 증가하도록 ..
-
백준(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++ )
-
프로그래머스 - H-Index알고리즘 풀이/프로그래머스 2019. 12. 8. 02:47
문제 : https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index | 프로그래머스 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h가 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H- programmers.co.kr 풀이 : h 은 1부터 돌면서 cnt를 센다. 조건에 맞게 ..
-
백준(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번은 ..