분류 전체보기
-
백준(BOJ) 2422번 한윤정이 이탈리아에 가서 아이스크림을 사먹는데알고리즘 풀이/백준(Boj) 2019. 10. 18. 15:24
문제 : https://www.acmicpc.net/problem/2422 2422번: 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 문제 한윤정과 친구들은 이탈리아로 방학 여행을 갔다. 이탈리아는 덥다. 윤정이와 친구들은 아이스크림을 사먹기로 했다. 아이스크림 가게에는 N종류의 아이스크림이 있다. 모든 아이스크림은 1부터 N까지 번호가 매겨져있다. 어떤 종류의 아이스크림을 함께먹으면, 맛이 아주 형편없어진다. 따라서 윤정이는 이러한 경우를 피하면서 아이스크림을 3가지 선택하려고 한다. 이때, 선택하는 방법이 몇 가지인지 구하려고 한다. 입력 첫째 줄에 정수 N과 M이 주어진다. N은 www.acmicpc.net 풀이 : 아이스크림의 선택은 3가지 이니 200 * 200 * 200 총 800만 가지의 경..
-
백준(BOJ) 4연산알고리즘 풀이/백준(Boj) 2019. 10. 16. 02:04
문제 : https://www.acmicpc.net/problem/14395 14395번: 4연산 첫째 줄에 정수 s를 t로 바꾸는 방법을 출력한다. s와 t가 같은 경우에는 0을, 바꿀 수 없는 경우에는 -1을 출력한다. 가능한 방법이 여러 가지라면, 사전 순으로 앞서는 것을 출력한다. 연산의 아스키 코드 순서는 '*', '+', '-', '/' 이다. www.acmicpc.net 풀이 : t가 10억이지만 n은 2*n 의 형태나 n^2 의 형태이기 때문에 탐색하는 n의 수는 많지 않고 BFS로 접근할 수 있다. queue q를 생성한후에 * + - / 각각의 순서대로 결과값과 그때의 붙는 부등호의 값을 큐에 넣는다. 조건은 10억이하일 경우 q에 넣어야 하고 나눌때에 n은 0이여서는 안된다. 또 같은..
-
MongoDB 튜토리얼 5. AggregationDB/MongoDB 정리 2019. 10. 15. 11:45
https://docs.mongodb.com/manual/aggregation/ Aggregation — MongoDB Manual Aggregation Aggregation operations process data records and return computed results. Aggregation operations group values from multiple documents together, and can perform a variety of operations on the grouped data to return a single result. MongoDB provid docs.mongodb.com Aggregate Aggregation (집계) 프레임워크 group values from..
-
9. 문맥전환, 선점과 비선점운영체제/운영체제 정리 2019. 10. 13. 22:30
문맥 전환 -Scheduler -dispatcher -context switch overhead 문맥 전환 ( Context Switching ) 이란? CPU는 하나고 프로세스가 여러 개이기 때문에 어느 시점에는 하나의 프로세스에게 서비스를 할당하고 있을 것이다. 그때 한 프로세스에서 다음 프로세스로 서비스 할당이 넘어가면 이를 문맥 전환이라 한다. 전에 말했듯이 Ready Queue안에 프로세스들은 CPU의 서비스를 받기 위해 기다리고 이를 결정해 주는 것이 CPU scheduler라고 하였다. ex ) p1을 서비스했다면 그다음 p2를 서비스해줄 것인가 p3를 서비스 해줄 것인가? (즉 OS 안에 프로세스 관리 영역에 있는 scheduler는 어떤 프로세스에게 CPU 서비스를 받게 해 줄 것인가 결..
-
백준(BOJ) 9944번 NxM 보드 완주하기알고리즘 풀이/백준(Boj) 2019. 10. 13. 18:14
문제 : https://www.acmicpc.net/problem/9944 9944번: NxM 보드 완주하기 문제 N×M 보드 위에서 할 수 있는 게임이 있다. 보드는 크기가 1×1인 정사각형 칸으로 나누어져 있다. 보드의 각 칸은 빈 칸 또는 장애물이다. 장애물은 아래 그림에선 어두운 사각형으로 표시되어져 있다. 게임을 시작하려면 보드의 빈 칸 위에 공을 하나 놓아야 한다. 아래 그림에서 공은 회색 점으로 표시되어져 있다. 게임은 단계로 이루어져 있고, 각 단계는 아래와 같이 구성되어져 있다. 위, 아래, 오른쪽, 왼쪽 중 방향 하나를 고른 다음, 그 방향으로 www.acmicpc.net 풀이 : 완전 탐색을 이용하여 각 공이 될수 있는 지점마다 재귀호출을 통해 구하자. 선택된 각 지점에서는 상하좌우 ..
-
백준(BOJ) 12996번 Acka알고리즘 풀이/백준(Boj) 2019. 10. 13. 02:11
문제 : https://www.acmicpc.net/problem/12996 12996번: Acka 첫째 줄에 앨범에 포함된 곡의 개수 S와 dotorya, kesakiyo, hongjun7이 불러야 하는 곡의 수가 주어진다. (1 ≤ S ≤ 50, 1 ≤ dotorya, kesakiyo, hongjun7 ≤ S) www.acmicpc.net 풀이 : 한 앨범당 가질수 있는 경우의 수는 7가지 이다 ( a만 b만 c만 a,b만 a,c만 b,c만 a,b,c ) 따라서 각각의 경우의 수를 모두 재귀호출 해준 후 중복은 메모이제이션으로 없애자. 코드 ( C++ )
-
백준(BOJ) 15562 톱니바퀴(2)알고리즘 풀이/백준(Boj) 2019. 10. 10. 13:22
문제 : https://www.acmicpc.net/problem/15662 15662번: 톱니바퀴 (2) 총 8개의 톱니를 가지고 있는 톱니바퀴 T개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, ..., 가장 오른쪽 톱니바퀴는 T번이다. 아래 그림은 T가 4인 경우이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다 www.acmicpc.net 풀이 : 한번 돌릴때의 일어나는 모든 상호작용은 큐로 처리한다. 즉 어떤 한 시계의 방향을 돌렸을때의 양옆의 톱니바퀴..
-
8. 프로세스 관리운영체제/운영체제 정리 2019. 10. 7. 01:51
프로세스 관리란 (Process Management) ? CPU 자원을 어떻게 각 프로세스 에게 효과적으로 나누어 줄 수 있는가 프로세스란 ? program in execution 즉 실행중인 프로그램, 하드디스크에서 메인메모리로 올라온 프로그램 CPU는 프로세스들을 관리한다. CPU시간을 각 프로세스들에게 나눠주는 일을 한다. 프로세스 상태 -new :처음 하드디스크에서 메모리로 올라 온 상태 -ready :초기화를 끝내고 실행할 준비가 된 상태 -running : 실제로 CPU가 실행하는 프로세스의 상태 -waiting : 프린트를 하고 싶다면? CPU는 더 이상 서비스 하지 않고 다음 프로세스로 넘어가서 그 프로세스를 running 상태를 만 든다. 그럼 기존의 프로세스는 waiting 상태가 된다..