-
[C#] StreamReader : 대용량 텍스트 파일 읽기프로그래밍/C# 2020. 9. 22. 07:20
StreamReader 생성자 우선 StreamReader는 간편하게 파일을 읽어오고 싶을 때 사용하는 클래스입니다. 아래와 같이 생성하셔서 사용하시면 됩니다. 또한, 한글을 사용하자 하실 때는 인코딩 UTF8을 설정해주세요. StreamReader sr = new StreamReader(FilePath, Encoding.UTF8); StreamReader 속성 1. EndOfStream : 현재 스트림 위치가 스트림의 끝에 있으면 true이고, 없으면 false입니다. 보통 속성은 " () " 를 사용하지 않고 메서드는 " () " 를 사용합니다. StreamReader 주요 메서드 1. Read() : 입력 스트림에서 다음 문자를 읽고 문자 위치를 한 문자씩 앞으로 이동합니다. 매개변수 없이 Read..
-
[DRAM] DRAM 이란 ?DRAM 2020. 9. 1. 00:22
RAM 이란? RAM (Random Access Memory) 이란 주로 컴퓨터의 주기억장치로 사용되며 전원이 꺼지면 데이터가 소멸되는 휘발성이 특징입니다. 크게 SRAM (Static RAM)과 DRAM (Dynamic RAM)으로 구분이 되는데, 속도로 따지면 SRAM 이 메모리 중에서 가장 빠른 속도를 자랑하지만 메모리의 발전은 직접도가 높은 DRAM을 기반으로 발전했습니다. 그래서 우리는 DRAM을 좀 더 심도 깊게 볼 필요가 있습니다. DRAM 은 CPU 보다는 느리지만 저렴하고 HDD 보다는 빨라서 둘 사이의 병목현상을 해결하기 아주 적합했습니다. 그렇게 컴퓨터의 주기억장치로 사용하기 위해 일반적인 비동기식 DRAM에 동기화 기술을 적용하여 SDRAM (Synchronous Dynamic Ra..
-
TestDome 에서 코딩테스트를 ???프로그래밍/알고리즘 2020. 7. 13. 13:11
TestDome 은 뭐하는 곳인가... 간단하게 말하면 우리나라에서 자주 사용하는 프로그래머스, 백준 사이트와 굉장히 유사하다고 보시면 됩니다. 기업에서 직원들을 채용할 때, 코딩 테스트를 보기 위해 이용하는 사이트인 거죠. 보통 외국계 기업, 스타트업 등에서 종종 사용하고 특히 리눅스 환경에서 개발을 하는 회사에서 사용하는 것 같습니다. 프로그래머스와 다른 점이 있나 ? 우선 문제 유형이 좀 다릅니다. 프로그래머스와 백준 사이트의 경우 보통 BFS, DFS, BRUTE FORCE 등의 알고리즘 문제들이 나옵니다. 하지만 TestDome을 통해 입사시험도 보고 무료로 제공되는 테스트들을 몇 가지 해봤을 때, 자료구조의 구현 문제가 대부분이었습니다. 그리고 정말 쉬운 문제로는 이 개발언어를 사용할 줄 아는..
-
BOJ 10828 : 스택백준 문제풀이/etc 2020. 7. 9. 00:01
문제 문제 풀어보기 풀이 종종 면접 문제로 나오는 유형이네요. 면접에서는 보통 배열로 구현하라고 합니다. 그러면 벡터의 기본 함수를 사용 할 수 없어서 조금 복잡해지겠네요. 코드 #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); vector v; int t; cin >> t; int x; string s; while (t--) { cin >> s; if (s == "push") cin >> x; if (s == "push") v.push_back(x); else if (s == "pop") { if (v.empty() == true) { cout
-
Deadlock 이란 무엇인가프로그래밍/운영체제 2020. 6. 25. 16:48
Deadlock 두 줄 설명 우리 컴퓨터 안에 있는 exe 파일들을 운영체제에서는 JOB이라고 부릅니다. 이러한 JOB이 일을 처리하기 위해 메모리를 할당받으면 프로세스(Process)가 되는 겁니다. 그리고 이러한 프로세스는 다시 프로세서(CPU)를 할당받으면서 비로소 작업을 처리하기 시작합니다. 일을 처리하는 과정에서 프로세스는 수많은 자원을 필요로 합니다. 그중에서도 데드락은 공유자원을 필요로 할 때 발생합니다. 예를 들어, P1(프로세스 1) 이 R1(공유자원 1)을 선점한 상태에서 R2(공유자원 2)를 필요로 하고 P2 가 R2를 선점한 상태에서 R1을 필요로 할 때 우리는 데드락 상태라고 합니다. 따라서 데드락은 자원(Resource)에 큰 영향을 받고 멀티프로세스인 경우에 발생합니다. Dea..
-
Starvation 과 Deadlock의 차이프로그래밍/운영체제 2020. 6. 24. 18:09
Starvation 한 줄 설명 작업을 해야 하는 프로세스가 어떠한 우연 또는 문제로 인해서 프로세서(CPU)를 할당받지 못해 Ready 상태에서 더 이상 진행하지 못하는 상태 Deadlock 두 줄 설명 작업을 해야 하는 프로세스가 접근할 수 없는 특정자원을 Asleep 상태에서 무한히 기다리는 상태. 예) p1 이 공유자원 1을 선점한 상태에서 공유자원 2를 얻기 원하고, p2는 공유자원 2를 선점한 상태에서 공유자원 1을 얻기 원하는 상황 Starvation과 Deadlock의 차이 1. 실행상태의 차이 : Starvation 은 ready 상태에서 무한 대기를 하는 겁니다. Deadlock 은 asleep 상태에서 무한대기를 합니다. 2. 필요한 자원의 차이 : Starvation 은 프로세서(C..
-
SWEA 2117 : [모의 SW 역량테스트] 홈 방범 서비스백준 문제풀이/GRAPH 2020. 6. 7. 00:03
문제 문제 풀어보기 풀이 테스트 케이스를 통과하기 위해 문제 꼼꼼히 읽자!!! 내일 삼성 코테보러갑니다. ㅈㅅ 주의할 점 1. 집이 1개 일수도 있다. 2. 최대 20 x 20 까지의 거리를 보자 3. 거리마다 bfs 하지 말고 한 번에 하고 계산하자. 코드 #include #include #include #include #include #include using namespace std; #define safe(x,y) x>=n || x maxSz) maxSz = dist[nx][ny]; q.push({ nx,ny }); } } // 각 거리마다 수익계산 int cnt = 0; for (int k = 1; k T; for (int i = 1; i < 50; i++) { pay[i] = (i * i) +..
-
SWEA 4013 : [모의 SW 역량테스트] 특이한 자석백준 문제풀이/etc 2020. 6. 6. 16:29
문제 문제 풀어보기 풀이 먼저 4개의 톱니바퀴를 어떤방향으로 돌릴것인지 배열에 결정해준다. 배열을 돌면서 톱니바퀴를 돌려준다. 한비트 쉬프트하며 정답에 더해준다. 코드 #include #include #include #include #include using namespace std; //#define safe(x,y) x>=n || x v(4, vector(8, 0)); // 회전방향 결정 void go(vector& dir, int index) { int tmp = index; // 왼쪽 톱니바퀴 while (tmp--) { if (v[tmp][2] != v[tmp + 1][6]) { dir[tmp] = -dir[tmp + 1]; } else break; } tmp = index; // 오른쪽 톱니바..