알골90제 24

[알골90제] 50/51번 - 브루트포스/다이나믹프로그래밍 : 오렌지나무 territory 선택 (small/big)

*문제 세종대왕은 현수에게 현수가 다스릴 수 있는 영지를 하사하기로 했다. 전체 땅은 사각형으로 표 시된다. 그 사각형의 땅 중에서 세종대왕이 현수가 다스릴 수 있는 땅의 크기(세로의 길이와 가 로의 길이)를 정해주면 전체 땅 중에서 그 크기의 땅의 위치를 현수가 정하면 되는 것이다. 전체 땅은 사각형의 모양의 격자로 되어 있으며, 그 사각형 땅 안에는 많은 오렌지 나무가 심 겨져 있다. 현수는 오렌지를 무척 좋아하여 오렌지 나무가 가장 많이 포함되는 지역을 선택하 고 싶어 한다. 현수가 얻을 수 있는 영지의 오렌지 나무 최대 개수를 출력하는 프로그램을 작 성하세요. 다음과 같은 땅의 정보가 주어지고, 현수가 하사받을 크기가, 가로 2, 세로 3의 크 기이면 가장 많은 오렌지 나무가 있는 영지는 총 오렌..

[알골90제] 49번 - 쌓기 블록의 최대값 (2차원 배열 응용)

*문제 1 1 2 3 측면 블럭 개수 입력 받을때 반대로 받는다. => 3 2 1 1 로 측면에서 봤을 때, 해당되는 숫자보다 큰숫자를 해당 숫자로 바꿔 준다. => 2중 포문 돌면서 각각 칸의 개수를 세면, 블록의 최대 개수가 나옴 *풀이 //49번 - 쌓기 블록의 최대값 (2차원 배열 응용) #define _CRT_SECURE_NO_WARNINGS #include #include int a[11][11], len[11]; int main() { int n, sum = 0; scanf("%d", &n); for (int i = 1; i

[알골90제] 48번 - 각 행의 평균과 가장 가까운 값 (2차원 배열 탐색)

* 문제: 1) 9*9 격자판에 81개의 자연수가 주어짐 2) 각 행의 평균을 구함 3) 각 행의 평균과 가장 가까운 값 출력 - 평균은 소수 점 첫 째 자리에서 반올림 - 가까운 값이 2개이면 그 중 큰 값을 출력 * 입력: 1~9번째 줄까지 한줄에 1개씩 100보다 작은 자연수가 주어짐 * 출력: 각 행별 평균과 그 평균과 그 행에서 평균과 가장 가까운 수 나란히 출력 ex) 42 34 43 42 53 53 . . . * 계획: 1) 9*9를 2차원 배열로 입력받음 2) 각 행별로 평균을 구함 3) 구한 평균을 두고 1~9까지 순서대로 빼서 abs해줌. 4) 절대값이 가장 작은 수가 평균과 가장 가까운 값 * 코드 // 48번 - 각 행의 평균과 가장 가까운 값 #define _CRT_SECURE_N..

[알골 90제] 37번 - LRU 카카오 캐시 문제 변형

1) Cache Miss : 해야할 작업이 캐시에 없는 상태로 위 상태에서 만약 새로운 작업인 5번 작 업을 CPU가 사용한다면 Cache miss가 되고 모든 작업이 뒤로 밀리고 5번작업은 캐시의 맨 앞에 위치한다. 5 2 3 1 6 (7번 작업은 캐시에서 삭제된다.) 2) Cache Hit : 해야할 작업이 캐시에 있는 상태로 위 상태에서 만약 3번 작업을 CPU가 사용 한다면 Cache Hit가 되고, 63번 앞에 있는 5, 2번 작업은 한 칸 뒤로 밀리고, 3번이 맨 앞으 로 위치하게 된다. 5 2 3 1 6 ---> 3 5 2 1 6 캐시의 크기가 주어지고, 캐시가 비어있는 상태에서 N개의 작업을 CPU가 차례로 처리한다면 N개의 작업을 처리한 후 캐시메모리의 상태를 가장 최근 사용된 작업부터 ..