profile
그냥 개발자
태그 목록
전체보기 (191)알고리즘(168)BFS(45)시뮬레이션(32)완전탐색(22)DFS(16)JavaScript(12)구현(10)운영체제(8)다이나믹프로그래밍(8)백트래킹(8)수학(7)이분탐색(6)투포인터(5)그래프(5)C(4)그리디(4)순열(4)동적계획법(4)(3)다익스트라(3)트리(3)정렬(3)배열돌리기(3)자료구조(3)(3)브루트포스(3)Event(2)lower bound(2)메모리(2)배열(2)최단거리(2)조합(2)방문체크(2)자바스크립트(2)MST(2)LRU(2)SWEA(2)upper bound(2)비트연산자(2)GCD(2)LCM(2)누적합(2)피보나치(2)LFU(2)메모이제이션(2)스택(2)sessionStorage(1)stdio.h(1)event loop(1)GCC(1)특정순열(1)교착 상태(1)SJF(1)Cleaning Strategy(1)Eschenbach(1)(1)코드포스(1)async(1)프로(1)class(1)디스크 스트라이핑(1)분할정복(1)cmake(1)우선순위큐(1)링크드리스트(1)BigDecimal(1)Debouncing(1)Flexbox(1)데드락(1)유니온파인드(1)정수판별(1)문자열(1)인터럽트(1)error(1)comparator(1)크루스칼(1)은행가 알고리즘(1)고정분할(1)NUR(1)배열인덱스(1)이진완전트리(1)유저모드(1)비트마스킹(1)N-Queen(1)C-SCAN(1)String(1)FCFS(1)Lazy loading(1)IOstream(1)리액트를 다루는 기술(1)연결리스트(1)부분집합(1)입출력(1)진법변환(1)10진법(1)16진법(1)8진법(1)하노이의 탑(1)플로이드와샬(1)2진법(1)세마포어(1)버디(1)소수(1)html(1)이분그래프(1)FIFO(1)Page Buffering(1)부분수열(1)HashSet(1)localstorage(1)세그먼테이션(1)유클리드 호제법(1)자료형(1)상호배제(1)disjoint set(1)재귀(1)RAID(1)커널모드(1)모든순열(1)다음순열(1)이전순열(1)MOD(1)시맨틱(1)거듭제곱(1)다음큐(1)모니터(1)자바(1)SCAN(1)try catch(1)Map(1)최소공배수(1)Array.prototype.map()(1)PFF(1)지연로딩(1)Sector Queueing(1)LOOK(1)SLTF(1)Throttling(1)버퍼링(1)파일시스템(1)modal(1)부팅(1)N-step SCAN(1)이진탐색트리(1)비트마스크(1)스레드(1)제곱근(1)페이징(1)정규표현식(1)가상메모리(1)프로세스(1)SSTF(1)tlb(1)Working set(1)clock(1)Load Control(1)Second Chance(1)Event propagation(1)리스트(1)동기화(1)리액트(1)무한스크롤(1)가변분할(1)최대공약수(1)반응형(1)TreeMap(1)Web storage API(1)시간복잡도(1)무한루프(1)Makefile(1)스케줄링(1)행렬(1)공간복잡도(1)Event deligation(1)퍼블리싱(1)await(1)

C++로 Heap 구현하기

Heap은 완전 이진 트리의 일종으로 불완전 정렬 상태를 이루고 있다.Max Heap의 경우에는 부모 노드 >= 자식 노드Min Heap의 경우에는 부모 노드 <= 자식 노드일반적으로 Priorty Queue를 구현하는데 사용한다. Heap 자료구조의 기본적인 알

2020년 12월 6일
·
0개의 댓글

Combination, Permutation, Powerset in C++

Combination Permutation Powerset powerset sum

2020년 11월 29일
·
0개의 댓글

HashMap 구현하기

Static allocation + Single LinkedList / Dynamic allocation + Single LinkedList / Dynamic allocation + Double LinkedList

2020년 11월 26일
·
0개의 댓글

알고리즘 풀이를 위한 기본적인 함수 구현

C++언어로 알고리즘 문제 풀이를 하면서 std를 사용하지 않고 있다보니 쉽게 사용하던 기능들을 사용하지 못해 문제 풀이가 막히는 경우가 많았다. 그러한 함수들을 정리해보자.string 길이 구하기string 복사하기string 비교하기string 붙이기string 뒤

2020년 11월 22일
·
0개의 댓글

알고리즘 풀이를 위한 C++ 입출력

C++로 알고리즘 좀 풀어볼까 했더니 입력을 못 받아서 한참을 헤맸다... 확실하게 한 번 짚고 넘어가야겠다! C++의 여러가지 입출력 방법 C의 표준 입출력 라이브러리 C++의 입출력 라이브러리 C언어를 기반으로하는 C++는 C언어에서 할 수 있는 것은 모두 다

2020년 11월 14일
·
0개의 댓글
post-thumbnail

CMake가 뭐야?

C++이라니...? 대학교 1학년 때 C언어를 집어던지고서 내 인생에 다시는 C언어가 없을 줄 알았다. 이제와서 C++이라니 ㅎㅎㅎ... 어쨌든 C++공부를 시작하기 위해서 프로젝트를 만들었더니 이런 놈들이 튀어나왔다. main.cpp는 그래도 기억한다. 근데 정체모

2020년 11월 7일
·
0개의 댓글
post-thumbnail

[운영체제] 10. 디스크와 스케쥴링

OS? Oh Yes! 책을 바탕으로 학습한 내용입니다.전원이 끊겨도 데이터를 보존할 수 있는 저장 매체이며 여러 장의 원판 디스크로 이루어져있다. 회전축에 의한 회전 동작과 붐(Boom)에 의한 전후 동작으로 헤드(Head)를 위치시켜 읽기 또는 쓰기를 수행한다.트랙(

2020년 6월 16일
·
0개의 댓글
post-thumbnail

[운영체제] 9. 파일시스템

OS? Oh Yes! 책을 바탕으로 학습한 내용입니다.저장 장치에 연관된 정보의 논리적 저장 단위필드(Field)데이터의 기본 요소로서 단일 값을 가지는 단위레코드(Record)관련된 필드를 모아놓은 것으로 응용 프로그램에 의해 하나의 단위로 취급더미(Pile) 파일일

2020년 6월 16일
·
0개의 댓글
post-thumbnail

[운영체제] 8. 가상 메모리의 관리

OS? Oh Yes! 책을 바탕으로 학습한 내용입니다.요구 정책(Demand Fetch)적재해야 할 요구가 있을 때 적재예측 적재(Anticipatory Fetch)참조될 가능성이 높다고 판단되는 페이지를 미리 적재디스크 입출력시 인접한 몇 개의 페이지들을 한 번에 적

2020년 6월 16일
·
0개의 댓글
post-thumbnail

[운영체제] 7. 가상 메모리

OS? Oh Yes! 책을 바탕으로 학습한 내용입니다.가상메모리는 제한된 크기의 메모리를 다양한 프로세스들이 분할, 적재, 반납을 통해서 실제의 크기보다 더 크게 활용할 수 있도록 하는 방법이다.프로그램을 같은 크기(페이지)나 논리 단위로(세그먼트) 나누어 메모리에 적

2020년 6월 13일
·
0개의 댓글
post-thumbnail

[운영체제] 6. 메모리 관리

OS? Oh Yes! 책을 바탕으로 학습한 내용입니다.적재 기법(Fetch Strategy)프로세스에게 메모리를 언제 할당할 것인가?배치 기법(Placement Strategy)프로세스들을 메모리 공간 어디에 적재할 것인가?교체 기법(Replacement Strateg

2020년 6월 13일
·
0개의 댓글
post-thumbnail

[운영체제] 5. 교착 상태(Deadlock)

OS? Oh Yes! 책을 바탕으로 학습한 내용입니다.둘 이상의 프로세스가 각자가 가지고 있던 자원을 보유한 채로 외부적 조치가 없는 한 영원히 그 상태에서 기다리고 있는 상황을 말한다. 기아(Starvation)와는 다르게 외부적 조치가 없이는 벗어날 수 없다.선점

2020년 6월 12일
·
0개의 댓글
post-thumbnail

[운영체제] 4. 병행 프로세스와 동기화

OS? Oh Yes! 책을 바탕으로 학습한 내용입니다.상호배제는 경쟁 상태의 병행 프로세스간 임계 자원에 속하는 공유 자원에 대한 문제에 있어서 임계 영역(Critical Section)에 한번에 하나의 프로세스만 진입하도록 하는 것이다.병행 프로세스는 메모리 위에 동

2020년 6월 12일
·
0개의 댓글

[BOJ 2957] 이진 탐색 트리 (Java)

BOJ 2957 이진 탐색 트리가장 먼저 시도한 것은 문제에 나와있는 슈도코드를 그대로 옮겨보았다. 하지만 당연히 시간초과, 최악의 경우에 O(N^2)의 시간복잡도를 가지기 때문이다. 어떻게 접근해야할지 모르겠어서 찾아봤더니 이진 탐색 트리의 삽입 연산에는 규칙이 있었

2020년 6월 6일
·
0개의 댓글

[BOJ 1765] 닭싸움 팀 정하기 (Java)

BOJ 1765 닭싸움 팀 정하기이 문제는 다음의 두 조건이 핵심인데 그 중에서도 두 번째 조건이 중요하다.내 친구의 친구는 내 친구이다.내 원수의 원수도 내 친구이다.그래프 상에서 type이 F인 간선으로 연결되어 있으면 친구다. 따라서 첫 번째 조건인 친구의 친구는

2020년 6월 5일
·
0개의 댓글

[BOJ 1184] 귀농 (Java)

BOJ 1184 귀농완전탐색인데 합을 구하는 것에서 시간을 줄이는 것이라는 생각이 들어서 부분합까지는 생각해냈는데 어떻게 완전 탐색을 할 것인지를 생각해내지 못했다. 다른 분의 해설을 보고서 무릎을 탁 쳤다. 왜 꼭지점을 기준으로 해볼 생각은 못했을까... 항상 기존의

2020년 6월 4일
·
0개의 댓글

[BOJ 1194] 달이 차오른다, 가자. (Java)

BOJ 1194 달이 차오른다, 가자.항상 느끼는 것인데 BFS에서 방문체크는 활용이 무궁무진한 것 같다.가장 기초적인 방문체크는 해당 좌표에 이전에 방문한 적이 있는지 확인한다.다음으로 많이 사용되는 것은 특정 시간에 해당 좌표를 방문한 적 있는가이 문제에서는 특정

2020년 6월 4일
·
0개의 댓글

[BOJ 16971] 배열 B의 값 (Java)

BOJ 16971 배열 B의 값습관적으로 바로 완전탐색을 시도해봤으나 실패!천천히 살펴보니 규칙성이 있었다. 다음 규칙은 행과 열 모두에 적용된다.A, B, C, D 행이 있을 때 이 행이 끝에 있는 행이라면행의 합은 (A + D) + 2(B + C)A, B, C, D

2020년 6월 3일
·
0개의 댓글

[BOJ 16935] 배열 돌리기3 (Java)

BOJ 16935 배열 돌리기3배열 인덱스의 연산을 통해서 배열을 자유자재로 다룰 수 있는 구현은 여기저기서 많이 등장하는 중요한 요소다. 차근차근 직접 인덱스를 써보면 금방 규칙을 찾을 수 있다.반전시키기 (상하, 좌우)상하 반전의 경우에는 바깥 반복문에 열 인자를,

2020년 6월 2일
·
0개의 댓글

[SWEA 5650] 핀볼 게임 (Java)

SWEA 5650 핀볼 게임각 블록별로 들어온 방향에 따른 나가는 방향을 분기웜홀을 페어로 관리하여 바로바로 이동시켜주기벽에 부딪히는 경우(맵을 벗어나는 경우) 좌표를 바꾸지 않고 방향만 바꾸면 벽 바로 앞에 0이 아닌 다른 것이 있는 경우 무시되어 올바르게 작동하지

2020년 6월 2일
·
0개의 댓글