알고리즘2 [알고리즘] 비트마스킹(Bitmasking) 비트마스킹이 뭘까? 완전탐색 알고리즘 공부를 하다가 예제에 비트마스킹이 등장했다..학부때도 비트 연산만 나오면 지루하고 그랬는데.. 계속 피할수만은 없으니!! 이번 기회에 손에 잡힐만하게 공부하자!비트 연산 더보기&(AND) : 모두 1이면 1|(OR) : 하나라도 1이면 1^(XOR) : 서로 다르면 1~(NOT) : 반전 비트 이동 연산자연산식설명x 정수 x의 각 비트를 y만큼 왼쪽으로 이동시킨다. (빈자리는 0으로 채워짐)x >> y정수 x의 각 비트를 y만큼 오른쪽으로 이동시킨다. (빈자리는 정수 x의 MSB;최상위비트로 채워짐)x >>> y정수 x의 각 비트를 y만큼 오른쪽으로 이동시킨다. (빈자리는 0으로 채워짐) 비트마스크란?비트마스크(bitmask)란 정수의 2진수 표현을 자료구조로 쓰는.. 2024. 5. 13. [알고리즘] Dynamic Programming 1. DP란?DP(Dynamic Programming)란 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 수학자인 리처드 벨만이 1940년대에 사용하던 용어였다. 1953년, 벨만은 큰 문제 안에 작은 문제가 중첩되어있는 문제를 해결하는 데 사용하는 이 방법을 '동적 계획법'이라 이름붙였다. 이와 같은 다이나믹 프로그래밍은 부분 문제 반복과 최적 부분 구조를 가지는 알고리즘을 일반적인 방법에 비해 더욱 적은 시간 내에 풀 때 사용한다고 알려져 있다. 부분 반복 문제(Overlapping Subproblem)예를 들면, 피보나치 수열과 같은 문제이다. 피보나치 수열을 구하는 문제는 여러 개의 부분 문제(Subproblem)으로 쪼개질 수 있다. 모든 문제를 부분 문제로 쪼갤 수 있고,.. 2024. 5. 10. 이전 1 다음