전체 글
-
백준(BOJ) 2234번 성곽알고리즘 풀이/백준(Boj) 2019. 10. 5. 03:38
문제 : https://www.acmicpc.net/problem/2234 2234번: 성곽 문제 대략 위의 그림과 같이 생긴 성곽이 있다. 굵은 선은 벽을 나타내고, 점선은 벽이 없어서 지나다닐 수 있는 통로를 나타낸다. 이러한 형태의 성의 지도를 입력받아서 다음을 계산하는 프로그램을 작성하시오. 이 성에 있는 방의 개수 가장 넓은 방의 넓이 하나의 벽을 제거하여 얻을 수 있는 가장 넓은 방의 크기 위의 예에서는 방은 5개고, 가장 큰 방은 9개의 칸으로 이루어져 있으며, 위의 그림에서 화살표가 가리키는 벽을 제거하면 16인 크기의 방을 얻을 www.acmicpc.net 풀이 : 1번은 bfs를 돌때마다 num을 ++ 해주어서 구한다. 2번은 bfs를 돌며 q에 담긴 횟수를 반환하여 넓이 중 최대 값을..
-
7. 운영체제의 주요 기능들운영체제/운영체제 정리 2019. 10. 4. 22:08
1. 프로세스 관리 프로세스란? : 메모리에서 실행 중인 프로그램 하드디스크 안에는 프로그램이 굉장히 많지만 메인 메모리까지 올라온 프로그램을 프로세스라고 한다. 주요 기능? -프로세스의 생성, 소멸 -프로세스의 활동 일시 중지, 재개 -프로세스 간 통신 -프로세스 간 동기화 동기화란? 누가 앞서는지 뒤서는지 -교착상태 처리 교착상태란? 프로세스들이 앞서거나 뒤서거나 하다가 꼼짝 못하는 상황이 있을 수 있다. 2. 주기억 장치 관리 -프로세스에게 메모리 공간 할당 -메모리의 어느 부분이 어느 프로세스에게 할당되었는가 추적 및 감시 -프로세스 종료 시 메모리 회수 -메모리 효과적 사용 -가상 메모리 : 물리적 실제 메모리보다 큰 용량을 갖도록 함 3. 파일 관리 트랙 , 섹터로 구성된 디스크를 파일이라는 ..
-
백준(BOJ) 1600번 말이 되고픈 원숭이알고리즘 풀이/백준(Boj) 2019. 10. 3. 22:11
문제 : https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 자연수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있는 곳으로는 이동할 수 없다. 시작점과 도착점은 항상 평지이다. W와 H는 1이상 200이하의 자연수이고, K는 0이상 30이하의 정수이다. www.acmicpc.net 풀이 : queue에 K의 수만큼 같이 넣어주자. K가 0보다 크다면 말처럼 이동할 수 있으므로 말처럼 이동하는 8가지 경우의 수를 추가로 넣어주자. 코드 (C ++ )
-
백준(BOJ) 2210번 숫자판 점프카테고리 없음 2019. 10. 2. 22:57
문제 : https://www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net 풀이 : 0,0좌표부터 ~ 4.4 좌표까지 하나씩 시도해보자. 중복이 없으니 방문표시를 하는 배열은 없다. 자기자신 + 5번 이므로 총 6번을 갔다면 set에 저장하자. set은 중복 저장을 막는 용도로 사용하였다. 중복을 제외한 총 개수를 출력하면 답이된다.
-
백준(BOJ) 14442번 벽 부수고 이동하기 2알고리즘 풀이/백준(Boj) 2019. 10. 1. 23:49
문제 : https://www.acmicpc.net/problem/14442 14442번: 벽 부수고 이동하기 2 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 풀이 : q에 들어갈 요소는 y , x 값과 K의 값이다. 상하좌우로 방문하면서 벽에 방문하더라도 K의 값을 깍으면서 진행 할 수 있도록 만들자. 코드 ( C++ )
-
MongoDB 튜토리얼 4. CRUDDB/MongoDB 정리 2019. 10. 1. 11:41
배열 태그의 값으로 두 개의 요소는 다 가지지만 순서에 상관없이 1,2,3,4에 해당 4에 해당 배열에 요소가 많으면 ? 배열에 요소중 dim_cm 값이 한 요소가 15보다 큰 조건을 만족하고 또 다른 요소가 20보다 작은 조건을 만족하면 찾는다. 따라서 1번을 예로 들어 20보다 작은 14가 있고 15보다 큰 21이 있으니 해당한다. 그러면 ~보다 크고 ~보다 작은 조건을 만들려면? $eleMatch를 써주자 multiple 요소를 갖는 값을 찾을 때에는 eleMatch를 꼭 붙여주자. 배열의 길이를 요소로 할 때는 size를 사용할 수 있다. 커서의 활용 find() 메서드는 검색된 문서 집합에 대한 커서 반환 몽고 shell은 자바스크립트 기반. 변수로 커서를 받아올 수 있다. db.sample.f..
-
백준(BOJ) 12869번 뮤탈리스크알고리즘 풀이/백준(Boj) 2019. 9. 28. 17:17
문제 : https://www.acmicpc.net/problem/12869 12869번: 뮤탈리스크 1, 3, 2 순서대로 공격을 하면, 남은 체력은 (12-9, 10-1, 4-3) = (3, 9, 1)이다. 2, 1, 3 순서대로 공격을 하면, 남은 체력은 (0, 0, 0)이다. www.acmicpc.net 문제 수빈이는 강호와 함께 스타크래프트 게임을 하고 있다. 수빈이는 뮤탈리스크 1개가 남아있고, 강호는 SCV N개가 남아있다. 각각의 SCV는 남아있는 체력이 주어져있으며, 뮤탈리스크를 공격할 수는 없다. 즉, 이 게임은 수빈이가 이겼다는 것이다. 뮤탈리스크가 공격을 할 때, 한 번에 세 개의 SCV를 공격할 수 있다. 첫 번째로 공격받는 SCV는 체력 9를 잃는다. 두 번째로 공격받는 SCV는..
-
이벤트 루프란?Web/Node.js 2019. 9. 28. 01:10
다음 코드의 답을 예상해보자. 답은 이러하다. 왜 이런 답이 나오는지 코드를 따라가며 하나씩 살펴보자. 처음 호출은 console.log('시작') 이다. 호출 스택 즉 콜 스택 부분에 들어가게 된다. 이렇게 쌓인 console.log는 실행되고 지워지며 다음 setTimeout 줄으로 넘어가게 된다. 역시 setTimeout도 스택에 담기고 실행되고 지워지며 다음 줄로 넘어가게 된다. 이때 run 함수는 어딜로 가는 것일까? run 함수는 이벤트 루프에 의하여 테스크 큐에 저장 된다. 이후 console.log('끝')이 콜 스택에 담기고 실행되고 지워진다. 이제 콜 스택이 비워져있으면 이벤트 루프에 의하여 테스트 큐에 제일 앞에 있는 run 이 3초후에 실행되며 run() 안에 있던 console.l..