쾌락없는 책임 (공부)
-
백준 11404 플로이드 - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 5. 28. 10:21
11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net #include #include using namespace std; int n, m, from, to, cost; int bus[101][101]; // 플로이드-와샬 알고리즘 // 1~2로 가는데 만약 3을 거쳐가는게 더 빠르다고 하면 3을 거쳐가는 비용으로 업데이트 void F(){ for(int v = 1; v
-
운영체제 07쾌락없는 책임 (공부)/운영체제 2021. 5. 27. 17:23
본 포스트는 '신용현'교수님의 운영체제 강의를 듣고 이해, 정리한 내용들을 올린 포스트입니다. - 강의자료는 올리지 않습니다. Virtual Memeory 이전 포스팅에서 요약한 페이징의 경우 메모리보다 큰 프로그램을 사용하기 위해 사용하는 기법입니다. 대신 메모리가 한계가 있다보니 일부분씩만 올리게 되는데 전체를 써야 하는 경우 가상 메모리가 필요하게 됩니다. 이 경우 프로그램의 일부 페이지만 메모리에 올라가게 하며 logical / physical memory 주소 공간을 분리하며 이 경우 logical이 주로 더 큽니다. (logical이 실제 프로그램이 필요한 메모리 양입니다) 물리적인 메모리의 주소가 더 작으니 Demand Paging을 통해 구현하게 됩니다. Demand Paging 필요한 경..
-
운영체제 06쾌락없는 책임 (공부)/운영체제 2021. 5. 27. 16:33
본 포스트는 '신용현'교수님의 운영체제 강의를 듣고 이해, 정리한 내용들을 올린 포스트입니다. - 강의자료는 올리지 않습니다. Paging 이전에 한 연속 할당의 경우 메모리 효율도가 떨어지기 때문에 나온 기법입니다. 프로세스를 일정한 크기로 나누며 그 단위가 Page가 됩니다. 그래서 실행시 첫 페이지를 메모리로 부른 뒤 나머지 페이지는 디스크에 두고 필요시 불러서 사용하게 됩니다. 그리고 페이지마다 연결하는 방법이 있어 메모리에 흩어져 있어도 프로세스가 실행가능하다는 장점이 있습니다. 프로세스의 페이지 페이지 테이블 메모리 P1 1 1 0 P2 2 2 1 P1 P3 3 4 2 P2 ... 3 (페이지 번호) (메모리 주소) 4 P3 또한 여러 프로세스에서 같은 페이지를 사용한다고 했을 시 메모리에는 ..
-
백준 4179 불! - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 5. 26. 23:36
4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문 www.acmicpc.net #include #include using namespace std; int r, c, jsx, jsy, ans; char map[1000][1000]; int fire[1000][1000]; bool visit[1000][1000]; int goX[4] = { 0, 0, 1, -1 }; int goY[4] = { 1, -1, 0, 0 }; queue fireq; void Firemap(){ while(!fireq.empty()){ int qsiz..
-
프로그래머스 단어 변환 - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 5. 20. 17:45
코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr #include #include #include using namespace std; bool visit[51]; int ans = 10000; bool CanChange(string a, string b){ int res = 0; for(int i = 0; i < a.size(); i++){ if(a[i] != b[i]) res++; } if(res == 1) return true; else return false; ..
-
유니티 2D - 말하는 NPC 만들기, 최적화쾌락없는 책임 (공부)/Unity 2021. 5. 19. 20:05
JangHanjun/GameMakers_Study Contribute to JangHanjun/GameMakers_Study development by creating an account on GitHub. github.com using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; public class ChatSystem : MonoBehaviour{ public Queue sentences; public TextMeshPro text; public GameObject quad; string s; float textW; public void Ondialogue(string[] lines, Tra..
-
프로그래머스 레벨 2 - 큰 수 만들기 C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 5. 19. 19:49
코딩테스트 연습 - 큰 수 만들기 programmers.co.kr #include #include #include using namespace std; string solution(string number, int k) { string answer = ""; stack s; for(int i = 0; i 0){ s.pop(); k--; } s.push(number[i]); } if(k) while(k--) s.pop(); stack ans; while(!s.empty()){ ans.push(s.top()); s.pop(); } while(!ans.empty()){ answer +=..
-
운영체제 05쾌락없는 책임 (공부)/운영체제 2021. 5. 19. 15:07
function(){ ... } 서론 보통 프로그래밍을 할 때 라이브러리나 출력 파일, 참조 파일 등 여러 파일들을 묶어(bind) 사용하게 됩니다. 이런 경우 어떤식으로 메모리에서 파일들을 묶을 수 있는지에 대해 알아봐야 합니다. Address Binding 수행할 명령어나 데이터 등을 실제 메모리 주소로 연결하는 것으로 3가지 경우에서 발생하게 됩니다. 1. 컴파일시 묶기 (Complie time binding) - 메모리에 올라갈 위치를 컴파일 단계에서 정하게 됩니다. - 파일을 로드할 시 위에서 정한대로 주소를 지정해주게 됩니다. - 그런데 해당 주소를 사용중이라면 다시 컴파일을 해야 해서 비효율적이라 할 수 있습니다. 2. 로드시 묶기 (Load time binding) - 컴파일 시 상대적인..