분류 전체보기
-
백준(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++ )
-
13. 교착상태 ( Deadlock)운영체제/운영체제 정리 2019. 12. 15. 00:13
프로세스는 실행을 위해 여러 자원을 필요로 한다. 하드웨어들을 자원들이라고 하고 이 자원들을 사용하는 프로그램들이 Applications 들이다. 중간에 O/S는 자원을 App에 잘 나누어 주도록 도와준다. 한정된 자원에 프로세스는 많으니 O/S는 잘 나누어 주어야 하고 잘 나누어주지 않는다면 교착상태에 빠질 수 있다. 어떤 자원은 갖고 있으나 다른 자원은 갖지 못하여 대기하는 것 (이와 동시에 다른 프로세스 역시 다른 자원을 가지려고 대기) 교착 상태에 일어나는 조건을 살펴보니 이 4가지 조건을 모두 만족해야 교착 상태가 일어날 수 있다. 1. Mutual exclusion ( 상호 베타 ) >한 프로세스가 사용 중이라면 다른 프로세스는 기다려야 한다는 것. 상호 배타적 식사하는 철학자 예) 한 젓가락..
-
프로그래머스 - 다리를 지나는 트럭알고리즘 풀이/프로그래머스 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를 센다. 조건에 맞게 ..