비트마스크란?컴퓨터는 내부적으로 모든 자료를 이진수(비트)로 처리한다. 이런 컴퓨터의 연산방식을 이용한, 정수의 이진수 표현을 활용하여 문제를 해결하는 기법을 말한다. 비트(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)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센..