본문 바로가기

전체 글85

SW 역량테스트 준비 SW 역량테스트 B형을 준비하게 되어 여러가지로 찾아보게 되었다. 삼성전자 SW 역량테스트 B형, 어떻게 공부해야하나요? (tistory.com) 삼성전자 SW 역량테스트 B형, 어떻게 공부해야하나요? A형을 통과한 대학교 재학생 or 졸업생 분들이나 삼성전자 SW직군에 입사한 사원분들은 SW 역량테스트 B형 일명 Professional 등급을 취득하고자 시험을 볼 것이다. 이 포스팅은 B형(Pro) 시험을 보는 baactree.tistory.com 삼성 SW 역량 테스트 B형 Reference 코드 (tistory.com) 삼성 SW 역량 테스트 B형 Reference 코드 삼성 B형 전체 링크 swexpertacademy.com/main/main.do 상단의 LEARN -> Visual Referen.. 2023. 3. 23.
비트 마스크(Bit Mask) - 활용(집합 연산) 지난 번에는 비트 마스크의 기본인 비트 연산자를 간단하게 알아보았다. 그렇다면 이번에는 비트 마스크를 활용하는 예를 알아보는 게 좋지 않을까? 비트마스크의 가장 대표적인 활용은 바로 집합에서 이뤄진다. 비트 마스크 기법을 활용하면 집합의 공집합, 원소 추가, 삭제, 포함 여부, 합집합, 교집합 등등 다양한 연산을 간단하게 실행할 수 있다. 1. 공집합과 꽉 찬 집합 위와 같이 공집합인 경우 그냥 0인 상태이고, 풀집합일 경우 1을 시프트 연산으로 한 자리 수 더 크게 만든 다음 1을 빼면 해당 집합 크기에 모든 값이 1인 비트 값을 만들어 낼 수 있고, 이는 꽉 찬 집합과 같은 비트 값이다. 이렇게 간단히 비트 마스킹을 통해 공집합과 꽉 찬 집합을 확인할 수 있다. 2. 원소 추가, 삭제 추가의 경우 |.. 2023. 3. 22.
비트마스크(BitMask) - 비트 연산 컴퓨터는 2진법을 사용해서 연산을 하는데, 비트 마스크는 이를 활용하는 기법이다. 정수를 이진수로 표현하는 방식을 활용해서 보다 빠르고, 간결하게 작성할 수 있다는 게 비트 마스크 기법의 장점이다. 이에 더해 비트마스크 기법은 비트 N개를 활용해 2^N가지의 경우를 표현이 가능하기 때문에 메모리 사용량이 더 적다. 이러한 장점들 때문에 비트 마스크를 유용하게 사용할 수 있는 상황이 더러 생긴다. 비트 마스크를 사용하기 위해서는 우선 비트 연산자를 잘 알아야 한다. 다음은 비트 연산자의 종류를 표를 통해 작성한 것이다. 다만 여기서 주의할 점은 와 같은 시프트 연산자의 경우 만약 할당된 값이 1100일 경우 2023. 3. 22.
분할 정복 분할 정복은 해결할 문제를 여러 개의 작은 부분으로 나눈 뒤, 나뉜 작은 문제들을 각각 해결한다. 그 이후 해결된 해답을 모은다(필요하다면). 분할 정복은 일반적으로 top-down 접근 방식을 사용한다. 일반적으로 top-down방식은 재귀 호출을 통해 분할해서 문제를 해결한다. 큰 문제가 작은 문제로 나눌 수 있다면 재귀를 계속해서 호출해서 더 이상 나눌 수 없는 작은 문제가 되었을 때, 문제를 해결하고 필요에 따라 해결한 작은 문제들을 다시 합치게 된다. 여기서 중요한 것은 나누어진 문제들이 서로 상관관계가 없어야 한다는 것이다. 즉, 나뉜 문제들이 서로의 풀이 과정에서 서로에 영향을 미치지 않아야 한다. 만약 나뉜 문제들이 서로에 영향을 끼친다면 각각의 해답이나 풀이 과정이 달라질 수 있기 때문이.. 2023. 3. 22.