전체 글

비트마스크란?컴퓨터는 내부적으로 모든 자료를 이진수(비트)로 처리한다. 이런 컴퓨터의 연산방식을 이용한, 정수의 이진수 표현을 활용하여 문제를 해결하는 기법을 말한다. 비트(Bit) - 비트는 이진수(0과 1로 구성된 수)를 나타내는 말로 컴퓨터에서 사용하는 데이터의 최소 단위이다. - 비트는 1과 0의 값을 가질 수 있고 true(1) 또는 false(0)라는 상태를 나타낼수도 있다. - 우리가 사용하는 10진수는 0과 1로 구성된 비트(이진수)로 표현이 가능하다.  비트마스크의 장점수행시간이 빠르다.대부분의 연산이 O(1)의 시간복잡도를 갖는다.특정 원소의 존재 여부 판단 시 선형 탐색할 필요 없이 and 연산 결과가 0보다 큰지 검사코드가 짧다.집합 연산들을 비트 연산자로 작성하기 때문에 코드가 간..
자바 가비지 컬렉션(GC) 란?가비지 컬렉션(Garbage Collection, GC)은 메모리 관리 기법중 하나로 JVM(자바 가상 머신)의 Heap 영역에서 동적으로 할당했던 메모리 중 필요없게 된 메모리 영역에 할당된 주소들을 모아 주기적으로 제거하는 프로세스를 말한다. C/C++ 언어에서는 이러한 가비지 컬렉션이 없어 개발자가 수동으로 메모리 할당과 해제를 일일히 해줘야 했다. 반면, JAVA 언어에서는 가비지 컬렉터가 메모리 관리를 대신 수행해주기 때문에 JAVA 프로세스가 한정된 메모리를 효율적으로 사용할 수 있게 하고, 개발자 입장에서는 메모리 관리, 메모리 누수 문제보다 로직 작성에 더 집중할 수 있다는 장점이 있다. 하지만, GC에도 단점이 존재한다. 자동으로 처리해준다 해도 메모리가 언..
2206 벽 부수고 이동하기 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 난이도 및 유형 난이도 : 골드 3 유형 : BFS / 그래프 탐색 문제 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센..
Je-rome
기록하고 기억하자