본문 바로가기

알고리즘

[Algorithm] 비트마스킹(Bit Masking) 비트마스킹(Bit Masking) 이란? 1. 비트란 ? - 데이터를 나타내는 최소 단위 - 모든 데이터는 0과 1의 조합으로 구성되고, 0 또는 1이 하나의 비트가 됨 - 1개의 비트는 2가지 상태를 나타낼 수 있다 -> n 개의 비트로는 2 ^ n 가지의 상태를 나타낼 수 있다. 2. 비트마스킹이란 ? - 컴퓨터가 내부적으로 모든 자료를 이진수로 표현하는 특성을 이용해 정수의 이진수 표현을 자료구조로 쓰는 기법 - 비트 마스크를 이용하면, 더 빠른 수행 시간 + 더 간결한 코드 + 더 적은 메모리 사용 효과를 얻을 수 있다. - 집합의 배열을 인덱스로 표현할 수 있다. 비트 연산자(논리 연산자) 연산자 표기 역할 예시 AND a & b a 와 b 두 비트 모두 1이면 1, 아니면 0 a = 4 = 1.. 더보기
[Algorithm] DP(Dynamic Programming) * 이것이 취업을 위한 코딩 테스트다 with 파이썬 책을 통해 공부한 내용을 정리한 것입니다. DP(다이나믹 프로그래밍) 이란, 1. Dynamic Programming(동적 계획법)의 정의 - 동적 계획법이란, 큰 문제를 작은 문제로 나누어 푸는 방식으로 - 메모리를 적절히 사용하여, 수행 시간 효율성을 비약적으로 향상시키는 방법이다. - 다이나믹 프로그래밍에서는, 이미 계산된 결과(작은 문제)는 -> '별도의 메모리 영역'에 저장하여 -> 다시 계산하지 않도록 한다. - 다이나믹 프로그래밍 구현 방식에는 Top-Down(하향식)과 Bottom-Up(상향식)의 2가지 방식이 있다. 2. Dynamic Programming 특징 - 다이나믹 프로그래밍 = '동적 계획법' 이라고 부른다. - 일반적으로 .. 더보기