본문 바로가기
728x90

Computer Science/Problem Solving(Algorithm)11

[STL] Unordered_Map STL 에서 기존에 사용하던 Map이라는 container가 있다. array, vector, list의 경우 연속 컨테이너 (Sequential Container) 였다면, map 과 set의 경우에는 연관 컨테이너(Associative Container)이다. 여기서 연관 컨테이너라 함은 Key Value가 서로 관련이 있다는 뜻이다. map의 경우에는 pair 형태로 데이터를 저장하게 되는데, key가 기준이 되어 데이터를 정렬하게 된다. Set의 경우에는 map과 비슷하지만 value가 따로 설정되어 있지 않다. 여튼, 연관 컨테이너 set, map을 사용하는 목적은 찾고자하는 원소를 보다 빨리 찾기 위해서이다. set map 의 경우 원소를 찾는데 걸리는 시간 복잡도의 경우 n*logn이다. 그.. 2021. 11. 29.
Bit 연산 // a가 홀수인지 확인 방법 if (a&1); //a가 짝수인지 확인 방법 if(~a&1); // a*2^k a > k; r = a & ((1 > k) & 1; // a의 k번째 bit만 0으로 변경 a = a & (~(1 2021. 11. 22.
BOJ 10872 - 팩토리얼 https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 재귀를 기본적으로 사용할 줄 아는지 확인하는 문제이다. #include #include using namespace std; int fact(int n) { if (n == 0) { return 1; } else return n * fact(n - 1); } int main() { int n; scanf("%d", &n); printf("%d\n",fact(n)); } 위와 같이 작성했다. 이 문제를 처음 제출 했을때는 에러가 발생했다. int fact 함수에서 if(n==1)으로 설정해서 발생한 시.. 2021. 6. 18.
<BOJ> 팩토리얼 (10872) 문제 링크 : www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net #include int fact(int _n) { if (_n == 0) return 1; else { return _n*fact(_n - 1); } } int main() { int n; scanf("%d", &n); printf("%d\n",fact(n)); return 0; } 간단한 문제 2021. 3. 31.
반응형